[经验]用tar在两个硬盘间迁移系统,成功!YEAH!

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

[经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#1

帖子 adagio » 2009-06-05 11:56

4月份装的ubuntu9.04,很好用,因为当时只是想试用,所以之给了一个分区——sdc1(即本人的第三硬盘第一分区,IDE40G的老爷货),根目录和home全在上面,没有swap。
后来用着挺爽,就想正式迁移到sdb2(第二硬盘第二分区,sata接口)上安家落户,作为第二linux系统使用(主系统是arch),到底还是新硬盘性能好点嘛。
So……,do it!

:idea: 第一步:用9.04的LiveCD进入系统(其实是用grub启动ISO文件),进入桌面后,打开nautilus,分别点击两个需要操作的分区,系统自动挂载到了/media/disk和/media/UBUNTU。
说明一下,sdc1是ext4格式,没有卷标,ubuntu默认自动挂载硬盘时,会在/media自动创建一个文件夹,名称disk,如果再有第二个分区挂进来,应该就是disk1、disk2……了吧?
如果该分区拥有label(卷标),则就用label作为目录名,所以sdb2被挂载到了/media/UBUNTU,因为这个分区是我用gparted实现格式化好的,并加上了label “UBUNTU”(全是大写),格式同样是ext4
当然,你喜欢命令行的话,也可以自己mount,我是懒人,就爱点鼠标


:idea: 第二步:打开终端

代码: 全选

sudo -i
回车后直接进入root账号,因为后面的操作都需要root权限,这样可以少输入很多sudo

代码: 全选

cd /media/disk
tar -cvpf - * | tar -xvpCf - /media/UBUNTU
这个命令大概意思是这样:打包/media/disk下所有文件后,不生成tar文件,直接释放到/media/UBUNTU下
之所以这样是想按照《鸟哥的私房菜》介绍的方式尝试一下神奇的tar和pipe,其实感觉如果用cp -rp命令应该也可以达到同样效果吧?没试过……
解释一下几个关键参数:
-p,这个一定加上,否则打包过去的文件可能全都变成root的了。
-C,这个更重要了,在第二个tar命令后面一定要加上,否则会中途执行失败。
最可气的就是,他要执行完第一个tar命令之后,在第二个tar开始时才提示失败。而第一个tar需要执行十几分钟,我满心欢喜的坐哪里看滚屏,看了十几分钟后他老兄却说:“执行失败,因为找不到/media/UBUNTU这个路径。”
我倒……

具体解释请看这个贴,我就是看了以后才明白问题出在哪里的。感谢 32idea的经验分享!
viewtopic.php?f=155&t=196581


:idea: 第三步:更改menu.lst和fstab中的UUID

代码: 全选

gedit /media/UBUNTU/boot/grub/menu.lst

代码: 全选

gedit /media/UBUNTU/etc/fstab
把这两个文件中所有原来sdc1的UUID全部替换成sdb2的
这里发现个问题,我第一次用blkid命令查出的UUID居然不对,重启显示ERRO 17,总之分区指定错了。后来用ls -l /dev/disk/by-uuid查到的才对,不知为何。

:idea: 第四步:废话!reboot喽!
:em11
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: [经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#2

帖子 eexpress » 2009-06-05 12:25

cp scp nc dump restore
● 鸣学
头像
missing
帖子: 1470
注册时间: 2008-03-28 20:52
系统: QNX

Re: [经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#3

帖子 missing » 2009-06-05 12:27

大三八又一招人鄙视的帖子,前排围观
missing is i missing you...
头像
lll9p
帖子: 1806
注册时间: 2007-07-18 18:56
联系:

Re: [经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#4

帖子 lll9p » 2009-06-05 12:29

tar常用,不过太大的还是dd来的快 :em02
我的小站imtho.com
3n6uv7 2vw <---- 332 ?语星火是么什
头像
ebok
帖子: 852
注册时间: 2008-02-15 0:09

Re: [经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#5

帖子 ebok » 2009-06-05 12:32

能解释一下
tar -cvpf - * | tar -xvpCf - /media/UBUNTU
两个“ - ”的作用么?
- 应该是表示前一个进入的目录吧?
Somebody think they are full of niubility, so they play a zhuangbility, but only reflect their shability.
头像
smallapple
论坛版主
帖子: 7868
注册时间: 2009-03-28 15:12

Re: [经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#6

帖子 smallapple » 2009-06-05 12:45

试试用WinPM复制分区,连uuid都一样。 :em09
头像
AngelMAX
帖子: 2228
注册时间: 2009-02-25 18:18

Re: [经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#7

帖子 AngelMAX » 2009-06-05 13:03

大三八借我几个硬盘,我也试验试验 :em04
在中国搞IT的谁不知道Ctrl+C,Ctrl+V啊~
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: [经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#8

帖子 adagio » 2009-06-05 13:32

missing 写了:大三八又一招人鄙视的帖子,前排围观
why? :shock:
lll9p 写了:tar常用,不过太大的还是dd来的快 :em02
dd 不行喔,两个分区不是一样大
smallapple 写了:试试用WinPM复制分区,连uuid都一样。 :em09
linux的事就用linux干,M$请自觉路过
ebok 写了:能解释一下
tar -cvpf - * | tar -xvpCf - /media/UBUNTU
两个“ - ”的作用么?
- 应该是表示前一个进入的目录吧?
你说的是f后面的- ?
f参数后面本来应该紧跟一个文件名,即用tar生成的打包文件(打包时),或用tar解开的打包文件(释放时)
而这个 - 表示:生成一个虚拟的打包文件(第一个tar),通过管道送入下一个tar,并释放到指定路径
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
webshow
帖子: 22
注册时间: 2008-11-07 19:20
联系:

Re: [经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#9

帖子 webshow » 2009-06-16 15:21

留脚印,以后有待用吧。
billbear
帖子: 3681
注册时间: 2008-05-03 23:42

Re: [经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#10

帖子 billbear » 2009-06-17 1:49

多事。 cp 就行了。 而且用不着 liveCD。
另外你是用 grub4dos 吧。
下次试试我的脚本 :)
我第一次用blkid命令查出的UUID居然不对
如果是刚刚格式化的,用普通用户 blkid 可能查到的是格式化之前的 uuid。blkid 只是把 /etc/blkid.tab 里的老账翻出来给你看。 用 sudo blkid 才能查到最新的 uuid。
头像
adagio
论坛版主
帖子: 22110
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球

Re: [经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#11

帖子 adagio » 2009-06-17 1:52

纯粹试试tar好不好玩
我用9.04的grub喔,下次不折腾了,给你做回小白鼠
:em11
明天就换大三八!
——8核CPU、8G内存、8T硬盘……
8卡交火,80寸大屏放8个……
IPv8的光纤要8条……

---------------------------------------------------------------------------------
[图片版]新手当自强(续)FAQ
[新手进阶]挂载、fstab、调整linux分区
[图片版]E17桌面环境配置手把手
头像
Jarson
帖子: 2371
注册时间: 2008-07-21 9:44
来自: 深圳
联系:

Re: [经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#12

帖子 Jarson » 2009-06-24 8:28

adagio 写了:
ebok 写了:能解释一下
tar -cvpf - * | tar -xvpCf - /media/UBUNTU
两个“ - ”的作用么?
- 应该是表示前一个进入的目录吧?
你说的是f后面的- ?
f参数后面本来应该紧跟一个文件名,即用tar生成的打包文件(打包时),或用tar解开的打包文件(释放时)
而这个 - 表示:生成一个虚拟的打包文件(第一个tar),通过管道送入下一个tar,并释放到指定路径
学习学习~
phomeray
帖子: 524
注册时间: 2006-05-30 20:48

Re: [经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#13

帖子 phomeray » 2009-06-24 9:04

ee的方法总是那么简洁
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

Re: [经验]用tar在两个硬盘间迁移系统,成功!YEAH!

#14

帖子 BigSnake.NET » 2009-06-24 10:00

phomeray 写了:ee的方法总是那么简洁
ee 的命令是

ee

ee 被 alias 成 %^$%%^&%&&^&&^&^...
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
回复