linux引导修复
昨天手贱,一不小心直接把Master节点的引导(/boot/grub/grub.conf)同步到各个Slave节点了。只能研究下怎么修复引导,还好修复过来了。趁着刚刚弄完记忆还清晰,记录下。
1.如果机子还没重启。
这个时候,机子还可以访问,所以直接修改下grub.conf文件的引导路径和UUID即可。如下:
default=1 timeout=5 splashimage=(hd0,4)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-358.el6.x86_64) root (hd0,4) kernel /boot/vmlinuz-2.6.32-358.el6.x86_64 ro root=UUID=451e7dcd-526f-4f68-a93f-9cba88824f3b rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-358.el6.x86_64.img title Other rootnoverify (hd0,0) chainloader +1
引导路径 :
引导路径即spash.xpm.gz,kernel和initrd所在的分区。一般放在系统安装的盘内,可以用fdisk -l查看,如下:
[root@Salve8 hadoop]# fdisk -l Disk /dev/sda: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0xf838c894 Device Boot Start End Blocks Id System /dev/sda1 * 1 3824 30716248+ 7 HPFS/NTFS /dev/sda2 3825 47748 352814366+ 7 HPFS/NTFS /dev/sda3 47748 48270 4194304 82 Linux swap / Solaris /dev/sda4 48270 60802 100661272 5 Extended /dev/sda5 48270 60802 100660224 83 Linux [root@Salve8 hadoop]#
Linux分区在sda5中,对应为(hd0,4),sda从1开始,前四个主分区为1到4,逻辑分区从5开始往后。hd从0开始,前四个主分区为0到3。所以相差1,换算下即可。
UUID:
UUID,即分区的识别码,可以通过blkid命令获得。如下:
[root@Salve8 hadoop]# blkid /dev/sda5 /dev/sda5: UUID="5bd372f6-e7b9-439a-ba3f-5fcf9db54869" TYPE="ext4" [root@Salve8 hadoop]#
综述:将grub.conf中的路径和UUID改正好即可。重启OK。
2.如果机子重启了。
这个时候由于引导是错的,系统当然进不去。如下:
Kernel panic - not syncing: Attempted to kill init! Pid:1, comm: init Not tainted 2.6.32-358.el6.x86_64 #1 Call Trace: .... .... panic occurred, switching back to text console
这个时候
如果有安装光盘,可以用安装光盘进入rescue模式(rescure模式见参考文献1),然后修复grub.conf文件。这个时候和上面有点区别,UUID的地方要换成sda的形式,如下:
default=0 timeout=5 splashimage=(hd0,4)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.32-358.el6.x86_64) root (hd0,4) kernel /boot/vmlinuz-2.6.32-358.el6.x86_64 ro root=/dev/sda5 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M KEYBO ARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /boot/initramfs-2.6.32-358.el6.x86_64.img title Other rootnoverify (hd0,0) chainloader +1
引导路径:
和上面的方法一样。
root路径:
将root=UUID=...换成root=/dev/sda5,指向linux系统的盘符。这是和上面方法的唯一区别。具体也不知道为什么,反正重启过后的系统,用UUID就不行了,换成sda的形式就OK了。
修改后重启,系统成功进入。
如果没有光盘,可以在系统加载的时候,进入grub,手动指定引导路径和root路径。具体参考参考文献1。成功进入系统后再修改grub.conf文件。注意:不要使用UUID。
参考文献:
1.linux rescure模式:http://www.ixdba.net/article/cb/450.html
2.grub.conf修复:http://dreamfire.blog.51cto.com/418026/1076824/
posted on 2014-03-23 21:03 hequn8128 阅读(1446) 评论(0) 编辑 收藏 举报