解决grub引导错误的一次经历
系统大全为您提供
昨天晚上给sdb新添加了一个分区,如下:
1 Disk /dev/sdb: 500.1 GB, 500107862016 bytes
2 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
3 Units = sectors of 1 * 512 = 512 bytes
4 Sector size (logical/physical): 512 bytes / 4096 bytes
5 I/O size (minimum/optimal): 4096 bytes / 4096 bytes
6 Disk identifier: 0xa887a887
7
8 Device Boot Start End Blocks Id System
9 /dev/sdb1 2048 125829119 62913536 83 Linux
10 /dev/sdb2 125829246 970502711 422336733 f W95 Ext'd (LBA)
11 Partition 2 does not start on physical sector boundary.
12 /dev/sdb5 125829248 221983352 48077052+ 7 HPFS/NTFS/exFAT
13 /dev/sdb6 221983424 228274807 3145692 b W95 FAT32
14 /dev/sdb7 228274872 518603944 145164536+ 7 HPFS/NTFS/exFAT
15 /dev/sdb8 518604008 782021941 131708967 7 HPFS/NTFS/exFAT
16 /dev/sdb9 782024704 918054911 68015104 83 Linux
17 /dev/sdb10 918056960 934834175 8388608 83 Linux
18 /dev/sdb11 934836224 951613439 8388608 83 Linux
19 /dev/sdb12 951615488 960004095 4194304 82 Linux swap / Solaris
20 /dev/sdb13 960004159 970502711 5249276+ 83 Linux
21 Partition 13 does not start on physical sector boundary.
其中那个13行的sdb6就是我新添加的分区,由于这个分区是在磁盘中间添加的所以就导致后面的分区号全部变了(比如centos的根目录原来装在sdb8,现在变成了sdb9了),我的ubuntu的根目录是装在sdb1中,由于它的分区号还没有改变,所以ubuntu系统还能正常启动,而centos系统就启动不了了!
启动不了我就得去排除错误啊,刚开始我就想着是引导的问题,于是我在ubuntu下面调用了update-grub命令,来更新一下grub2的启动条目,更新的结果是这样的:
Generating grub configuration file ...
Found background image: ubuntu_kylin_grub_bg.tga
Found linux image: /bootmlinuz-3.13.0-46-generic
Found initrd image: /boot/initrd.img-3.13.0-46-generic
Found linux image: /bootmlinuz-3.13.0-32-generic
Found initrd image: /boot/initrd.img-3.13.0-32-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
Found CentOS release 6.6 (Final) on /dev/sdb9
done
从上面可以看到,三个操作系统都找到了,现在应该能正常启动了吧,我重启试了试,centos启动还是失败。。。。
后来我有在想,我的centos系统的home目录和var目录是单独的分区,是不是它启动的时候自动挂载出问题了,于是我又去修改centos的/etc/fstab文件,原来我是用分区号来标识分区的(比如/dev/sdb9之类的),这里我就全部改成了用UUID来标识分区。这里还学到了一个小技巧,原来分区的UUID号码都保存在/dev/disk/by-uuid/这
1 menuentry 'CentOS release 6.6 (Final) (on /dev/sdb9)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-d24c3228-5ffc-4937-8411-a69681c3b54e' {
2 insmod part_msdos
3 insmod ext2
4 set root='hd1,msdos9'
5 if [ x$feature_platform_search_hint = xy ]; then
6 search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos9 --hint-efi=hd1,msdos9 --hint-baremetal=ahci1,msdos9 d24c3228-5ffc-4937-8411-a69681c3b54e
7 else
8 search --no-floppy --fs-uuid --set=root d24c3228-5ffc-4937-8411-a69681c3b54e fi
9 linux /bootmlinuz-2.6.32-504.12.2.el6.i686 ro root=/dev/sdb8 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 vga=791
10 initrd /boot/initramfs-2.6.32-504.12.2.el6.i686.img
11 }
这是grub.cfg文件中关于centos启动的部分,在第九行linux命令中,它选择好了内核以只读命令来挂载根文件系统的时候,选择的分区是sdb8,而此时sdb8已经变成了windows的ntfs分区,所以此时我的系统启动的时候,就会提示一大串的无法识别文件系统类型(ntfs),只要把这里改成sdb9,我的系统就能正常启动了!
^ o ^
启动之后,我还没高兴多久呢,发现在ubuntu下面运行一遍update-grub命令,那么grub.cfg文件又被覆盖了。。没办法,还得继续分析!
经过分析之后,发现centos的那个启动条目是由/etc/grub.d/30_os-prober这个配置文件产生的,而在这个文件中,linux-boot-prober命令最终生成了grub.cfg文件中的第9行中root命令后面跟着的分区名!而这个linux-boot-prober命令就是查找给定的分区名中的类似于"menu.lst"的配置文件,结果我最终发现,问题还是出在centos系统的配置文件上,如下所示:
1 title CentOS (2.6.32-504.12.2.el6.i686)
2 root (hd0,9)
3 kernel /bootmlinuz-2.6.32-504.12.2.el6.i686 ro root=/dev/sdb8 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 vga=791
4 initrd /boot/initramfs-2.6.32-504.12.2.el6.i686.img
我原来只改了第2行的root命令选择的分区,而没有改第三行中root命令选择的分区,这样我的系统还是启动不了。。
OK,把centos的配置文件一改,问题总算都是解决了!^ . ^
以上就是系统大全给大家介绍的如何使的方法都有一定的了解了吧,好了,如果大家还想了解更多的资讯,那就赶紧点击系统大全官网吧。
本文来自系统大全http://www.win7cn.com/如需转载请注明!推荐:win7纯净版
系统下载排行榜71011xp
番茄花园 Win7 64位 快速稳定版
2【纯净之家】Windows7 64位 最新纯净版
3【老机专用】Windows7 32位 精简旗舰版
4【纯净之家】Windows7 SP1 64位 全补丁旗舰版
5JUJUMAO Win7 64位 最新纯净版
6【纯净之家】Windows7 32位 最新纯净版
7【纯净之家】Windows7 SP1 64位 办公旗舰版
8【雨林木风】Windows7 64位 装机旗舰版
9【电脑公司】Windows7 64位 免费旗舰版
10【国庆献礼】JUJUMAO Win7 SP1 64位旗舰克隆纯净版
【纯净之家】Windows10 22H2 64位 专业工作站版
2【纯净之家】Windows10 22H2 64位 游戏优化版
3【纯净之家】Windows10 企业版 LTSC 2021
4【纯净之家】Windows10企业版LTSC2021 纯净版
5【深度技术】Windows10 64位 专业精简版
6联想Lenovo Windows10 22H2 64位专业版
7JUJUMAO Win8.1 Up3 X64 极速精简版v2019.11
8【纯净之家】Windows10 22H2 64位 专业精简版
9【雨林木风】Windows10 64位 专业精简版
10【纯净之家】Windows10 22H2 64位 专业办公版
【纯净之家】Windows11 23H2 64位 游戏优化版
2【纯净之家】Windows11 23H2 64位 专业工作站版
3【纯净之家】Windows11 23H2 64位 纯净专业版
4风林火山Windows11下载中文版
5【纯净之家】Windows11 23H2 64位 最新企业版
6【纯净之家】Windows11 23H2 64位 中文家庭版
7JUJUMAO Win11 24H2 64位 专业版镜像
8深度精简 Win11 ESD 全新优化纯净版V2024
9【纯净之家】Windows11 23H2 64位专业精简版
10【纯净之家】Windows11 23H2 64位 纯净家庭版
深度技术 GHOST XP SP3 电脑专用版 V2017.03
2深度技术 GGHOST XP SP3 电脑专用版 V2017.02
3Win7系统下载 PCOS技术Ghost WinXP SP3 2017 夏季装机版
4萝卜家园 GHOST XP SP3 万能装机版 V2017.03
5番茄花园 GHOST XP SP3 极速体验版 V2017.03
6雨林木风 GHOST XP SP3 官方旗舰版 V2017.03
7电脑公司 GHOST XP SP3 经典旗舰版 V2017.03
8雨林木风GHOST XP SP3完美纯净版【V201710】已激活
9萝卜家园 GHOST XP SP3 完美装机版 V2016.10
10雨林木风 GHOST XP SP3 精英装机版 V2017.04
热门教程
装机必备 更多+
重装工具