Ubuntu Linux 的引导默认采用了GRUB2, 与过去的引导程序不一致, 目前使用的版本是:Ubuntu Kylin 14.10
在使用中,主要发现以下问题:
一是过去GRUB能够软RAID1方式引导启动,已经无法使用。另外对于LVM2等分区的引导启动还不支持。因此,主引导分区设置为硬盘上的普通分区,可以启动。
二是apt-get dist-upgrade;升级系统版本以后,引导信息没有自动修改,系统默认还是按照以前的版本引导启动,如果连续升级两次以后,并且执行apt-get autoremove自动清理未使用的旧版本后,将出现无法引导的故障,需要进行修复。
三是在本机主硬盘引导的情况下,重新执行grub-install将导致引导功能的失效,无法启动。
GRUB2完全支持ext4的引导,因此,可以不需要单独对/BOOT进行分区,只需要/根分区就可以了,减少了配置的复杂性。
GRUB2修复:
GRUB2的内部数据提取的几个关键点依次是:
/etc/fstab========>/boot/grub/menu.lst============>/boot/grub/grub.cfg
首先,用U盘或者光驱或者其他系统硬盘引导启动成功后,执行blkid得到等方式得到要启动的分区的UUID号, 挂载目标盘,修改目标盘的/etc/fstab。
sudo mount /dev/sda1 /mnt;
cd /mnt;
sudo restore -r -f /backup/dump_root.0; // 可选,恢复备份的根分区
sudo bkid;
sudo nano /nt/etc/fstab;
sudo mount --bind /dev /mnt/dev; // 绑定一些核心系统目录,以保证chroot后各功能正常
sudo mount -