|
又一次重新安装了2009.0(KDE4),别误会,不是2009.0(KDE4)不稳定,而是我不断尝试安装KDE4.2 For 2009.0甚至UP到2009.1导致系统故障。这一次我放弃了KDE4.2,直接添加testing源UP到KDE4.1.4,鉴于UP之中更新频繁,可能产生一些文件碎片,我决定优化磁盘:在LiveCD下把root(/根分区)所有文件COPY到别的分区,然后格式化root(/根分区)。
行动。光驱启动LiveCD,打开终端:
su
mkdir /media/hd2/tmp
mv /media/hd/* /media/hd2/tmp/
打开控制中心里的磁盘管理,先卸载,格式化,再挂载。
mv /media/hd2/tmp/* /media/hd/
按照我的设想,这样的做法不会产生任何问题,因为从系统本身而言没有任何变化,重新启动系统后应该可以顺利进入。
系统启动,一直正常,心内狂喜。就在这时,启动停止,提示/dev/root文件系统不存在。
这时有点不解,莫非要我新建/dev/root文件夹,然后系统启动中把/(根分区)挂到这儿?干脆在LiveCD下新建/dev/root文件夹,重新启动系统后依然提示/dev/root文件系统不存在,此路不通!
/dev/root文件系统到底是什么呢,应该就是/(根分区),我的/(根分区)对应的真实设备其实就是/dev/sda1,这里为什么要写成/dev/root呢,有可能/(根分区)不一定在/dev/sda1,所以换了一种表达方法/dev/root更准确。
既然系统启动时grub无法找到/dev/root,重新修复grub,还是不行。
看来不是grub的问题,索性进入grub,看到启动项中存在root=UUID=f0334758-c19e-4d76-8e70-49982f57b9af,莫非强行指定了/(根分区)的UUID导致的故障,干脆删除让系统自动识别,还是不行。
干脆来点狠的,进入grub文本界面,输入:
kernel (hd0,0)/boot/vmlinuz
initrd /boot/initrd.img
boot
还是不行!
近乎绝望了,看来启动项中必须有root=UUID=f0334758-c19e-4d76-8e70-49982f57b9af,我格式化了/dev/sda1后UUID有所改变,怎么查看UUID呢,google了一下:
blkid /dev/sda1
再次光驱启动LiveCD,打开终端:
su
blkid /dev/sda1
/dev/sda1: LABEL="/" UUID="4ae39814-e555-4810-8854-7614b5082ee4"
修改/boot/menu.list和/etc/fstab,凡是涉及root=UUID=和sda1的地方全部修改为4ae39814-e555-4810-8854-7614b5082ee4
惴惴不安中重启系统,谢天谢地,完全正常!由此展开了非分之想:比如把/(根分区)中文件转移到U盘,是不是只需修改/boot/menu.list和/etc/fstab中的UUID…… |
|