Ubuntu Linux移动根分区新方法
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
- chenmingbao
- 帖子: 141
- 注册时间: 2009-11-06 11:24
- 联系:
Ubuntu Linux移动根分区新方法
自从用上了Ubuntu,发现对Windows的依赖越来越小,前两天更是把我的Vista给删了,现在系统里只有 Ubuntu,于是想把 Ubuntu从安装时的分区3上转到分区1上去。实验结果如下:
声明:本人只讨论技术问题,如因此造成的数据损失及其他问题不承担任何责任。
0:我的配置:分区:sda1 原Vista ,
sda2扩展分区,下有两个逻辑分区(sda5,sda6),
sda3 Ubuntu分区,
sda4 Swap分区
1:从LiveUSB(LiveCD)启动。
使用现有系统的制作LiveUSB工具及安装镜像制作LiveUSB,当然你也可以用LiveCD,建议使用LiveUSB(LiveCD可能挂载分区时会无法创建目录);
在开机启动选项里选择你的启动设备(使用Del键或F2键或F12键进入启动选项,具体视机器而定)
2:挂载sda1和sda3。
这个没什么好说的,可以在文件浏览器中挂载,也可以手动用mount命令
3:移动文件。
用 cp -ax /media/分区3/* /media/分区1/ “分区1”是sda1挂载的目录,“分区3”是sda3挂载的目录,加入-ax 参数可以保证复制时保留属性。
4:重装grub。
这一步的目的是保证grub从sda1寻找menu.lst文件,而不是原来的sda3。
方法:依然是在LiveUSB上,打开终端,输入 sudo grub命令,可能要等一会儿,然后出现grub>提示符;
输入find /boot/grub/stage1,如果出现(hd0,0) (hd0,2)两项,那就说明你复制的没问题;
接着输入:root (hd0,0),表明启动分区是第0块硬盘上的第0分区(grub中用0表示1,1表示2,以此类推);
然后输入:setup (hd0),将grub装到第0块硬盘上。
5:修改menu.lst。
这一步最关键,是能否从新系统上启动的关键。
打开终端;
将原来的menu.lst改名:在终端中进入分区3目录下/boot/grub目录,使用sudo mv menu.lst newfilename把menu.lst改名(newfilename为任意的其他名称)
cd 命令进入sda1挂载目录下的/boot/grub目录;
查看分区UUID:sudo ls -l /dev/disk/by-uuid ,记录下sda1和sda3的UUID(分区编号sdx在行尾);
修改分区1上的menu.lst:
sudo cp menu.lst menu.lst.backupfile (备份menu.lst文件)
sudo gedit menu.lst,把里面sda3的UUID都替换为sda1的UUID,然后保存,关闭gedit和终端;
注:有些人的grub可能不是使用UUID来识别分区,可以直接将menu.lst里的/dev/sda3改为/dev/sda1。
6:重启。从硬盘启动(改回你的设定,不再使用LiveUSB启动)
如果成功的话,进入任意目录下查看剩余空间,如果与新分区剩余空间相符,这一步进入的就是新分区了,如果你使用一段时间后没什么问题,就可以把原来的sda3删掉以作他用了。
如果失败,将分区3上的menu.lst恢复,并在grub命令下使用root (hd0,2)然后setup (hd0),以重装grub。
声明:本人只讨论技术问题,如因此造成的数据损失及其他问题不承担任何责任。
0:我的配置:分区:sda1 原Vista ,
sda2扩展分区,下有两个逻辑分区(sda5,sda6),
sda3 Ubuntu分区,
sda4 Swap分区
1:从LiveUSB(LiveCD)启动。
使用现有系统的制作LiveUSB工具及安装镜像制作LiveUSB,当然你也可以用LiveCD,建议使用LiveUSB(LiveCD可能挂载分区时会无法创建目录);
在开机启动选项里选择你的启动设备(使用Del键或F2键或F12键进入启动选项,具体视机器而定)
2:挂载sda1和sda3。
这个没什么好说的,可以在文件浏览器中挂载,也可以手动用mount命令
3:移动文件。
用 cp -ax /media/分区3/* /media/分区1/ “分区1”是sda1挂载的目录,“分区3”是sda3挂载的目录,加入-ax 参数可以保证复制时保留属性。
4:重装grub。
这一步的目的是保证grub从sda1寻找menu.lst文件,而不是原来的sda3。
方法:依然是在LiveUSB上,打开终端,输入 sudo grub命令,可能要等一会儿,然后出现grub>提示符;
输入find /boot/grub/stage1,如果出现(hd0,0) (hd0,2)两项,那就说明你复制的没问题;
接着输入:root (hd0,0),表明启动分区是第0块硬盘上的第0分区(grub中用0表示1,1表示2,以此类推);
然后输入:setup (hd0),将grub装到第0块硬盘上。
5:修改menu.lst。
这一步最关键,是能否从新系统上启动的关键。
打开终端;
将原来的menu.lst改名:在终端中进入分区3目录下/boot/grub目录,使用sudo mv menu.lst newfilename把menu.lst改名(newfilename为任意的其他名称)
cd 命令进入sda1挂载目录下的/boot/grub目录;
查看分区UUID:sudo ls -l /dev/disk/by-uuid ,记录下sda1和sda3的UUID(分区编号sdx在行尾);
修改分区1上的menu.lst:
sudo cp menu.lst menu.lst.backupfile (备份menu.lst文件)
sudo gedit menu.lst,把里面sda3的UUID都替换为sda1的UUID,然后保存,关闭gedit和终端;
注:有些人的grub可能不是使用UUID来识别分区,可以直接将menu.lst里的/dev/sda3改为/dev/sda1。
6:重启。从硬盘启动(改回你的设定,不再使用LiveUSB启动)
如果成功的话,进入任意目录下查看剩余空间,如果与新分区剩余空间相符,这一步进入的就是新分区了,如果你使用一段时间后没什么问题,就可以把原来的sda3删掉以作他用了。
如果失败,将分区3上的menu.lst恢复,并在grub命令下使用root (hd0,2)然后setup (hd0),以重装grub。
- Lavande
- 论坛版主
- 帖子: 5352
- 注册时间: 2008-12-21 15:27
- 来自: TARDIS
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
- tenzu
- 论坛版主
- 帖子: 36924
- 注册时间: 2008-11-21 20:26
- rapistor
- 帖子: 1983
- 注册时间: 2009-01-19 15:09
- adagio
- 论坛版主
- 帖子: 22110
- 注册时间: 2008-02-17 23:47
- 来自: 美丽富饶的那啥星球
Re: Ubuntu Linux移动根分区新方法
囧,不修改fstab能用?
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……
---------------------------------------------------------------------------------
★ [图片版]新手当自强(续)FAQ
★ [新手进阶]挂载、fstab、调整linux分区
★ [图片版]E17桌面环境配置手把手
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……
---------------------------------------------------------------------------------
★ [图片版]新手当自强(续)FAQ
★ [新手进阶]挂载、fstab、调整linux分区
★ [图片版]E17桌面环境配置手把手
- 白鳍豚
- 帖子: 2356
- 注册时间: 2009-01-19 23:03
- wangdu2002
- 帖子: 13284
- 注册时间: 2008-12-13 19:39
- 来自: 物华天宝人杰地灵
Re: Ubuntu Linux移动根分区新方法
直接用熊哥和6pt的强大工具来搞,岂不是更省事。。。不过勤快人楼主尝试新方法值得鼓励,多熟愁分区和挂载也不是坏事。
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
海内生明月,天涯共此夕。
--------------------吾本独!
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
Re: Ubuntu Linux移动根分区新方法
漏了 fstab 吧
- roylez
- 帖子: 1928
- 注册时间: 2005-10-04 10:59
- 来自: 上海
Re: Ubuntu Linux移动根分区新方法
真是目光如锯阿,呵呵。tenzu 写了:为啥Ubuntu的字眼给的却是http://www.gcshome.cn/的地址?
我想来是对代码没有放[ code ]的不抱好感的。这种文章又长,代码还没好好处理的,一般来说就是网上转来的,而且是引用也不给原作者一个,跟偷眼球无异。
看这里
http://hi.baidu.com/fghubuntu/blog/item ... 9478f.html
原作是2008年4月在linuxeye。
✡ 弄个dropbox空间来备份文件或者做私人代码服务器?
✡ 配置:[url]git://github.com/roylez/dotfiles.git[/url]
✡ 主页:http://roylez.heroku.com
✡ 各种稀奇玩意儿:http://dooloo.info
✡ 配置:[url]git://github.com/roylez/dotfiles.git[/url]
✡ 主页:http://roylez.heroku.com
✡ 各种稀奇玩意儿:http://dooloo.info
- hasee.wu
- 帖子: 2089
- 注册时间: 2009-10-20 21:13
- 来自: Pacific Western University
Re: Ubuntu Linux移动根分区新方法
如此险恶隐秘的广告,都被你发现了。tenzu 写了:为啥Ubuntu的字眼给的却是http://www.gcshome.cn/的地址?