最近用U盘安装了一台centos6.6的服务器,系统装完完成一系列初始化工作后重启系统发现BIOS找不到可引导的设备,然后插上安装U盘重启电脑就可以正常开机引导了。卧槽,原来我没有注意将系统引导装在了U盘上,整个系统文件装到了硬盘上。duang!就这样掉坑里了,下面开始爬坑,将系统的引导程序GRUB安装到硬盘上。
1、用U盘引导,进入单用户模式,我就是在系统启动倒计时屏幕出现时按下“上键或者下键”,出现的菜单中按下“e”键,然后在出现的菜单中选择带“kernel”关键字的项,然后按下“e”键编辑该项。在该项的最后输入空格和1两个字符后按确认键返回菜单,最后按下“b”键,系统就会重新启动进入单用户模式了。
2、输入grub命令进入到grub交互模式 首先用root命令告诉grub你系统安装在第几块盘的第几个分区,命令格式是
1 | grub> root (hdx,y) |
其中的x代表的是系统安装在第几块硬盘,从0开始计数。一般的系统都安装在sda第一块硬盘上,这时x的数值是0。安装系统的分区一般是sda1,这时y的数字是0,如果是ada2,那么y的数字是1。这样依次类推确定x,y的值。 grub知道了系统的安装的位置后,使用setup命令将grub写到硬盘的MBR上,命令格式是
1 | grub> setup(hdx) |
x的值就不重复说明了,这样就将grub写到了电脑硬盘的MBR上了,就不用再插U盘引导了。
输入quit命令退出grub交互模式,reboot系统。
3、此时不用U盘就可以引导系统了,我的情况可能有点特殊,发现死活就是加载不了系统,不断反复的重启引导。后来观察引导界面发现系统的grub配置文件有错误。
1 | # grub.conf generated by anaconda |
安装系统的时候,U盘也占了一个硬盘设备号,当时的系统盘是第二块。不用U盘引导后,此时的系统盘是第一块,重新插上U盘进入将grub配置文件/etc/grub.conf中对应的hd1改成hd0问题就完美解决了。
1 | # grub.conf generated by anaconda |