前几天折腾上了Fedora15,(详情见这里)但毕竟是测试版,时常崩溃。当它崩溃后的残局达到了我无法收拾的时候,我想我该恢复到使用原来的Fedora14了(Fedora15两三天的时间就被我折腾死了,也许预见了我有虐待计算机的倾向)。但是我不想重新安装,若从头开始安装的话还要进行配置,然后一个软件一个软件的安装,花费的时间太长,我想直接使用我的Fedora14备份文件来恢复系统。
说干就干了,LiveCd启动系统,挂载Fedora15系统分区,然后复制系统文件。再挂载/boot分区,复制内核,修改grub.conf,重启系统,漂亮的蓝色进度条结束后,卡了,提示无法找到/根目录。
内核可以启动,但是无法找到文件系统,这个问题如何解决呢?毕竟在红联混了些日子,每天看高手们的文章,我还是有些收获的。很快的我就想到会不会是/etc/fstab的问题?是不是试验一下就知道了,修改/etc/fstab,重新启动系统,发现系统可以正常启动了,而且和我刚备份的时候一模一样,我的系统恢复成功了。太高兴了,看来论坛没有白混,以后还要继续混下去了。
接下来详细说一下我的置换过程,作为向不厌其烦的解答新手问题论坛里的高手们致敬:
1.确定分区情况
首先确定分区情况,然后修改/etc/fstab和grub.conf ,使之可以挂载正确的路径就可以了。
分区情况如下
/dev/sda1 500M boot ext4
/dev/sda2 250G Linux LVM
LVM卷内的分区情况
LVM卷名称 大小 挂载目录 格式 设备
lv_root 20G / ext4 /dev/dm-0
lv_home 20G /home ext4 /dev/dm-4
lv_swap 1G swap ext4 /dev/dm-1
以上这些信息都可以在系统中利用 磁盘实用工具 来查看。
2.复制系统文件并修改fstab
用liveCD启动系统,挂载Fedora15的系统分区,假设挂载到/media/_Fedora15.然后把不需要的文件夹删除,再把Fedora14系统备份文件解压到这里来,然后修改vi /media/_Fedora15/etc/fstab。注意修改的文件,不要把命令写成 vi /etc/fstab。这样的话就是修改了LiveCD的fstab。[code]#
# /etc/fstab
# Created by anaconda on Sun Jan 30 03:38:28 2011
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
#UUID=3ee58373-58bb-48e0-8d73-ad162ce5be54 / ext4 defaults 1 1
#UUID=d750731f-4f72-4028-bfdf-ccb691dc6995 /home ext4 defaults 1 2
#UUID=17e36900-278d-4501-abf7-b79cd79ca562 swap swap defaults 0 0
/dev/dm-0 / ext4 defaults 1 1
/dev/dm-4 /home ext4 defaults 1 2
/dev/dm-1 swap swap defaults 0 0
/dev/sda1 /boot ext4 defaults 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0[/code]其中前面被注释掉的UUID开始的行是我以前Fedora14系统安装的时候的分区情况,采用UUID的方式来描述设备的,现在我已经重新分区,那么原来的UUID就不行了,必须修改。为了简单,我用设备名来定义的。
在修改的时候注意,中间只能用TAB来间隔,不要使用空格,使用空格会导致错误。
即 /dev/dm-0 [TAB] / [TAB] ext4 [TAB] defaults [TAB] 1[Space]1
中间均是用TAB来间隔的,若/dev/dm-0 / ext4 中间用了空格,则会导致错误。
只有最后那个1 1 中间可以用空格,而且建议只用一个空格就好了。
3.复制内核并修改gurb.conf
接下来挂载/boot分区,假设挂载到了/media/_boot,然后把我的内核复制到这个分区
sudo cp /media/_fedora15/boot/*2.6.35.11-83.fc14.i686* /media/_boot
修改grub.conf。我的内核是2.6.35.11-83.fc14.i686 ,在修改grub.conf的时候就只需要修改这个内核名称就可以了,其他的不修改,利用Fedoa15的就好。我的grub.conf如下。[code]# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=0
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Fedora (2.6.35.11-83.fc14.i686)
root (hd0,0)
kernel /vmlinuz-2.6.35.11-83.fc14.i686 ro root=/dev/mapper/VolGroup-lv_root rd_LVM_LV=VolGroup/lv_root rd_LVM_LV=VolGroup/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet nouveau.modeset=0 rdblacklist=nouveau
initrd /initramfs-2.6.35.11-83.fc14.i686.img
title Fedora (2.6.38-0.rc5.git1.1.fc15.i686)
root (hd0,0)
kernel /vmlinuz-2.6.38-0.rc5.git1.1.fc15.i686 ro root=/dev/mapper/VolGroup-lv_root rd_LVM_LV=VolGroup/lv_root rd_LVM_LV=VolGroup/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rhgb quiet
initrd /initramfs-2.6.38-0.rc5.git1.1.fc15.i686.img[/code]只修改了第一个选项的内核名称就可以了,第二个选项是我安装Fedora15的时候LiveCD上的内核。
这里的root=/dev/mapper/VolGroup-lv_root 应该就是使用了卷名称来标明根目录位置的。当然也可以修改为 root=/dev/dm-0 ,还可以使用root=UUID=XXXXXXXX来标明。
4 重启系统
当我重新启动后发现不能进入系统,原来是U盘没有拔下来,拔掉U盘后,一切正常了。
总结一下:
Linux的系统的启动只有两个地方涉及到硬盘的分区,一个是grub引导时,另一个就是fstab挂载分区的时候,而对于其他的软件,不再对于分区做任何的处理,都是从/目录为路径来读取数据,所以原则上可以把你的系统放到任何的地方,只要能够让grub找到,让fstab得到分区信息就是了。而grub以及fstab均可以通过UUID、设备名(如/dev/sda1,/dev/dm-1形式)、卷标名称等的方式来读取数据和挂载分区,这就给我们提供了很多的选择。
wjc11261103 于 2013-05-17 14:57:37发表:
顶一下 在学习中:0)1
loveRHEL 于 2013-05-12 19:22:02发表:
顶!
ask200 于 2013-05-12 11:42:00发表:
看着高深莫测~
月亮大姐 于 2012-05-24 13:50:25发表:
一个人最大的破产是绝望,最大的资产是希望。
rjicecgvvk 于 2012-02-13 10:27:21发表:
你们订婚的日期决定了吗?" "
刚刚决定的,就在这个月月底。" 茱莉亚似乎想到什么,眉开眼笑地把原静羽
拉向沙发," 静羽,你来帮我看看,我正在挑选订婚当天要穿的礼服吧!" "
哦……好……" 原静羽被动地照做。
她在心中严重的警告自己:不能哭!绝对不能哭!否则会被静影看穿心事。
静影已经亲自承认他要娶茱莉亚,这代表静影爱茱莉亚,所以她不可以哭,
更不能反对,不然会给静影带来无端的困扰。
于是她强颜欢笑,心不在焉地和茱莉亚讨论礼服的事。
" 静羽,你不是来找静影的吗?" 夜岚一句话救了她。
原静影也因为茱莉亚和达尼尔的事,一时忘了问原静羽突然到访的原因,连
忙把原静羽拉进怀里,满怀柔情的问:" 在学校发生什么事了?" 莫非又有"
哈雷" 的人找麻烦?
静影的柔情此刻对原静羽无异是锥心的折磨,害她更想放声痛哭,她赶紧深
吸一口气,仰高脸不让眼泪掉下来,勉强扬起唇角道:" 没事,你别穷紧张。
" " 那——" " 我只是在学校听到同学说你要订婚,因为我从没听你提过,所
以感到很意外,一时性急才跑来问你的。现在我已经知道是事实就好了,那—
—我要回学校上课了。" 此刻的原静羽一心只想逃开原静影身边。
" 我送你去。" 原静影说着便拿起汽车钥匙。
" 不,我自己回去就好。" 原静羽再也忍不住泛起氤氲泪光。
" 静羽,你怎么了?" 原静影状甚焦急关心。
原静羽连忙拭泪说道:" 我没事……只是你没有事先告诉我你要订婚的事…
…让我觉得有点被冷落的感觉,所以才……" 愈说泪愈泛滥,害她无法再说下
去。
原静影掏取手巾,小心轻柔地替她拭泪,宠爱地说:" 傻女孩,你别胡思乱
想,没事先告诉你订婚的事是觉得没什么重要,无论我有没有结婚,你在我心
中永远是最重要的妹妹,我怎么可能冷落你?" " 确实是我多心了……" 原静
羽只能这么附和,泣血的心在不停呐喊着:我不要当你的妹妹,我要当你最爱
的女人!
" 好了啦,静影,快放手让静羽回学校去,难道你想让她继续翘课不成?"
夜岚提醒他。
" 那我先走了。" 原静羽急着逃出去。
" 我送你。" " 不用了,你继续做你的事,不可以给我坏榜样喔!" 原静羽
很懂得如何阻止他。
原静影果然投降,不再坚持," 你这丫头就会反将我一军,自己路上小心。
" " 嗯!" 下一秒钟,原静羽已迅速逃离。
凝睇着消失在电梯的原静羽,原静影迟迟未收回紧盯电梯门口的视线,表情
看来十分骇人。
" 怎么?看到静羽的眼泪后悔了,不想?
tan0620 于 2011-08-11 15:44:16发表:
感谢分享
dqwit 于 2011-05-29 21:44:32发表:
妞妞
dqwit 于 2011-05-29 21:26:24发表:
牛B啊,谢谢楼主
tangzhongchun 于 2011-05-02 18:36:45发表:
好好学习。谢谢!
caiji 于 2011-04-24 21:46:34发表:
新人学习。飘过
sdut714 于 2011-04-15 03:04:38发表:
感谢分享技术!
刚刚开始使用fedora14,慢慢学习
yiyelin 于 2011-04-08 14:23:20发表:
新手任务,得回帖,谢谢LZ分享?????????????灌水莫怪?????????????有机会一定登门拜谢????????????
yiyelin 于 2011-04-08 14:16:50发表:
新手任务,得回帖,谢谢LZ分享?????????????灌水莫怪?????????????有机会一定登门拜访????????????
ynzthouyong 于 2011-04-01 22:36:08发表:
嘿嘿,支持(e:e2s
lijianhui1986 于 2011-03-31 16:46:32发表:
支持下
Growth兆 于 2011-03-25 09:39:39发表:
感谢pallana的分享,本贴加入到论坛顶置的Linux应用索引贴中
tiany524 于 2011-03-24 22:18:48发表:
高手 :0)1
alick 于 2011-03-24 22:10:49发表:
对,真正理解了就很简单了,怎么折腾都行 :)
breakbrain 于 2011-03-24 19:23:57发表:
不错.
pallana 于 2011-03-24 15:02:07发表:
3# wangyu
经常当小白,也就习惯了。
有问题使劲的折腾,然后才发现原来真理如此的直接。
wangyu 于 2011-03-24 13:40:27发表:
常常见你小白一回:0lopw(1
mconela 于 2011-03-24 11:43:32发表:
太强了,支持支持