移動os至其他硬碟

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

移動os至其他硬碟

文章sppmg » 週三 10月 06, 2010 5:20 pm

最近因為買新硬碟,想移過去。(其實主要是)
不過不巧買到wd的「先進格式」,然後配上winxp的落後os,成為安裝不進去的惡夢....
於是前陣子再買個seagate 1T來裝。
不過由於之前wd的已裝好debian,懶得重裝(網速慢),於是昨天用cpio複製到seagate中
完成後可以運作,但後來突然發現GNOME 2 panel 中的CPUFreq Applet少了一個(原有四個,因為是四核 :lol: )。
本來不在意,但後來發現之後再新增的CPUFreq Applet圖示都不見(全透明,看不到.....)。
雖然滑鼠右鍵點上去後,在顯示「文字或圖示」的選項用滾輪滾一滾就會出來,但長度不足,字被切掉,而且原本對他按左鍵可以選頻率,現在也出不來。
(總之就是程式運作和原本的有差)

兩硬碟的分割區有小小不同:
以下分別列出
分割區:/,/boot,/usr,/var,/home
wd:6,7,8,9,11
sg:5,6,7,8,10
分割區容量「大致相同」,(不過既然沒有不足的問題,cpio應該沒有問題才是)
fs除/boot外均用xfs,boot使用ext3

我是使用find . -print |cpio -dumpv /mnt/sdaX 來複製的(註:這超快地,約20分鐘就移完了,所以一定要學 :mrgreen:
照理來說,這應該可以完全複製過去阿,為何會出現這種運作不正常的情況??(硬碟有壞軌?還是cpio複製錯?還是......我用錯?)
不知各位能否提供建議,感謝,我實在懶得再用這慢網裝了。
系統的威力來自於程式的相互關係, 而非來自程式本身
is the idea that the power of a system comes more from the relationships among programs than from the programs themselves.

(英文語法怪怪的......誰能提供完整的版本?)
sppmg
活潑的高中生
活潑的高中生
 
文章: 317
註冊時間: 週五 8月 04, 2006 3:47 pm
來自: 臺灣

Re: 移動os至其他硬碟

文章sppmg » 週五 10月 08, 2010 6:39 pm

:crying: :crying: :crying:
沒人知道嗎?
因為有點急(要用啊),現在用又不安心(怕留隱患),如果沒人有建議的話只好重裝了。(又要花1、2天裝、設定)

cpio應該可以複製硬連結,我沒弄錯吧!
還是有其他該改的設定檔(由於分割區不同造成的差異)要我改。(我只有改grub的device.map)
還是有認為cpio不好,要我改用afio,pax等等呢?
(順帶一問,好像說gnu cp,tar已解決一些一些備份上的瑕疵。那可以用來備份全系統嗎?)
系統的威力來自於程式的相互關係, 而非來自程式本身
is the idea that the power of a system comes more from the relationships among programs than from the programs themselves.

(英文語法怪怪的......誰能提供完整的版本?)
sppmg
活潑的高中生
活潑的高中生
 
文章: 317
註冊時間: 週五 8月 04, 2006 3:47 pm
來自: 臺灣

Re: 移動os至其他硬碟

文章訪客 » 週五 10月 08, 2010 9:46 pm

Possible explanation of the failure of cpio without tracing the source code of GNU cpio v2.11:
http://www.freebsd.org/cgi/man.cgi?quer ... t=html#end

Before trying fsarchiver, check/verify the contents of both source partition and destination partition via rsync as follows:
"rsync -axHAX --delete /mnt/partition1/ /mnt/partition2/ -Pn" (mount both partitions in read-only mode if possible)
Reference: http://www.fsarchiver.org/forums/viewto ... lude#p2686

Probable solution to your problem:
Assume that /dev/sda is WD HDD and /dev/sdb is Seagate HDD. You wanna restore 5 partitions, /dev/sda{6,7,8,9,11} onto /dev/sdb{5,6,7,8,10}.
1. Issue the command, "fsarchiver -j3 -v savefs /mnt/backup/5_fileSystems_archive.fsa /dev/sda{6,7,8,9,11}", to save the contents of 5 fileSystems/partitions into one single archive file, 5_fileSystems_archive.fsa.
2. Issue the command, "fsarchiver -j3 restfs /mnt/backup/5_fileSystems_archive.fsa id=0,dest=/dev/sdb5 id=1,dest=/dev/sdb6 id=2 dest=/dev/sdb7 id=3 dest=/dev/sdb8 id=4 dest=/dev/sdb10", to restore 5_fileSystems_archive.fsa onto /dev/sdb{5,6,7,8,10}.
Unfortunately, fsarchiver DOES NOT support Unix pipeline and therefore you have to save/write the contents of source partitions first for later restoring onto destination partitions.

In case why use fsarchiver instead of tar/dar/cpio:
1. http://www.fsarchiver.org/forums/viewto ... 34&start=0
2. Documentation of fsarchiver: http://www.fsarchiver.org/Main_Page

In case of using "--exclude option" within fsarchiver:
1. http://www.fsarchiver.org/forums/viewto ... lude#p2686
2. http://www.fsarchiver.org/forums/viewto ... it=exclude
訪客
 

Re: 移動os至其他硬碟

文章訪客 » 週六 10月 09, 2010 8:58 pm

訪客 寫:2. Issue the command, "fsarchiver -j3 restfs /mnt/backup/5_fileSystems_archive.fsa id=0,dest=/dev/sdb5 id=1,dest=/dev/sdb6 id=2 dest=/dev/sdb7 id=3 dest=/dev/sdb8 id=4 dest=/dev/sdb10", to restore 5_fileSystems_archive.fsa onto /dev/sdb{5,6,7,8,10}.

Sorry I made the mistake of restoring onto /dev/sdb{5,6,7,8,10} because of three missing commas.
The identifier or keyword, "id" means a C-style index, zero-based indexing and hence is counted from zero, not one( i.e., the 1st element/fileSystem of 5_fileSystems_archive.fsa has an index/offset/displacement value of zero ).
The identifier or keyword, "dest" means destination partition.
The correct restoring command should be:
"fsarchiver -j3 restfs /mnt/backup/5_fileSystems_archive.fsa id=0,dest=/dev/sdb5 \
id=1,dest=/dev/sdb6 id=2,dest=/dev/sdb7 id=3,dest=/dev/sdb8 id=4,dest=/dev/sdb10"
訪客
 

Re: 移動os至其他硬碟

文章sppmg » 週三 10月 13, 2010 2:09 am

抱歉,有點忙,慢回了。

非常感謝,這軟體不錯。
不過我還是想知道為什麼cpio不行呢?
因為我的情況fs都相同,有問題應該也是由硬碟、分割區、uuid等原因所造成啊!
如果原因不找出,或許用別的軟體一樣會出問題啊。
系統的威力來自於程式的相互關係, 而非來自程式本身
is the idea that the power of a system comes more from the relationships among programs than from the programs themselves.

(英文語法怪怪的......誰能提供完整的版本?)
sppmg
活潑的高中生
活潑的高中生
 
文章: 317
註冊時間: 週五 8月 04, 2006 3:47 pm
來自: 臺灣

Re: 移動os至其他硬碟

文章企鵝狂 » 週三 10月 13, 2010 12:36 pm

之後沒有系統更新嗎?會不會是軟體更新之後的問題。
http://news.bbc.co.uk/1/hi/world/asia-pacific/country_profiles/1285915.stm


Country profile: Taiwan
Map of Taiwan
Taiwan is the island which has for all practical purposes been independent for half a century, but which China regards as a rebel region that must be reunited with the mainland - by force if necessary.
企鵝狂
活潑的高中生
活潑的高中生
 
文章: 477
註冊時間: 週三 3月 31, 2004 11:13 am
來自: 台灣共和國

Re: 移動os至其他硬碟

文章redjoe » 週三 10月 13, 2010 1:34 pm

用光碟開機, mount好原硬碟, 以root用tar打包。再解開到新硬碟, 改/etc/fstab及grub應該就可以了。
redjoe
快樂的大學生
快樂的大學生
 
文章: 518
註冊時間: 週一 4月 07, 2003 10:15 pm
來自: Taiwan

Re: 移動os至其他硬碟

文章訪客 » 週四 10月 14, 2010 12:12 am

How about these two commands:
su
find . -depth -xdev -print0 | cpio -dumpv /mnt/{whatever}
訪客
 

Re: 移動os至其他硬碟

文章sppmg » 週四 10月 14, 2010 8:30 am

企鵝狂 寫:之後沒有系統更新嗎?會不會是軟體更新之後的問題。


移過來後,未更新前就已是如此了。目前升到sid還是如此。

redjoe 寫:用光碟開機, mount好原硬碟, 以root用tar打包。再解開到新硬碟, 改/etc/fstab及grub應該就可以了。


我當時用的是光碟開 --> cpio複製 --> 改fstab(原為uuid,我用sdaX的代號改成符合這顆硬碟的數值) --> 用隨身碟(因為上面有grub2,光碟中是grub)開啟,手動輸入指令啟動os --> 改grub2的device.map。這步不知是否為必須。 --> 重建grub2到新硬碟的mbr。
由於tar 似乎對於某些檔如裝置檔等等有問題,當然我有看到有說gnu tar有解決,但為保險起見我還是用cpio。(順便問,真的可以嗎?)

訪客 寫:How about these two commands:
su
find . -depth -xdev -print0 | cpio -dumpv /mnt/{whatever}


我find是用" -print ",不知這樣有差嗎?(這是疑問,不是質疑。 :ooops:
我知道差別在檔名結尾是null or newline,可是看起來cpio也可以解析啊?
(剛發現-print0好像要搭配cpio的--null喔!見下面info cpio的末尾)



以下是我另外查到的,順便貼一下。(省得自己再找囉!)
debian-reference使用的是這個:
代碼: 選擇全部
# cd ./source; find . -print0 | cpio -pvdm --null --sparse /dest


$ info cpio
代碼: 選擇全部
 In copy-pass mode, cpio copies files from one directory tree to
another, combining the copy-out and copy-in steps without actually
using an archive.  It reads the list of files to copy from the standard
input; the directory into which it will copy them is given as a
non-option argument.  *Note Copy-pass mode::.

     % find . -depth -print0 | cpio --null -pvd new-dir

   The example shows copying the files of the present directory, and
sub-directories to a new directory called new-dir.  Some new options are
the `-print0' available with GNU find, combined with the `--null'
option of cpio.  These two options act together to send file names
between find and cpio, even if special characters are embedded in the
file names.  Another is `-p', which tells cpio to pass the files it
finds to the directory `new-dir'.
系統的威力來自於程式的相互關係, 而非來自程式本身
is the idea that the power of a system comes more from the relationships among programs than from the programs themselves.

(英文語法怪怪的......誰能提供完整的版本?)
sppmg
活潑的高中生
活潑的高中生
 
文章: 317
註冊時間: 週五 8月 04, 2006 3:47 pm
來自: 臺灣

Re: 移動os至其他硬碟

文章訪客 » 週日 10月 17, 2010 10:11 pm

sppmg 寫:我find是用" -print ",不知這樣有差嗎?(這是疑問,不是質疑。 :ooops:
我知道差別在檔名結尾是null or newline,可是看起來cpio也可以解析啊?
(剛發現-print0好像要搭配cpio的--null喔!見下面info cpio的末尾)

Yes, you are right. I missed the "-0 or --null" option of cpio.

According to "3.3.2 Multiple Files( Node: Multiple Files )" within the info page/manual of GNU find version 4.4.2:
Instead of blank-delimited names, it is safer to use `find -print0' or `find -fprint0' and process the output by giving the `-0' or `--null' option to GNU xargs, GNU tar, GNU cpio, or perl. The locate command also has a `-0' or `--null' option which does the same thing.

As a result, I further refine your command as the following:
"find . -depth -xdev -print0 | cpio --sparse -0dumpv /mnt/{whatever}" (I haven't tested it yet)

To deal with ATA 4KiB sector issues( https://ata.wiki.kernel.org/index.php/A ... tor_issues ), I'm not sure whether the "-C, --io-size, or --block-size" option of cpio, which is only available in both copy-in and copy-out mode, is necessary or not.
訪客
 

Re: 移動os至其他硬碟

文章sppmg » 週二 11月 02, 2010 6:38 pm

前天發現CPUFreq Applet圖示又出現了。不知是何時新後出現的。(還沒有空分析log。不過說實在也不知是哪個套件造成)
嗯!我目前還沒空理他,所以一直還在用那「疑似」有問題的os。之後有空會先用cpio複製一遍,再用md5 check一次。
系統的威力來自於程式的相互關係, 而非來自程式本身
is the idea that the power of a system comes more from the relationships among programs than from the programs themselves.

(英文語法怪怪的......誰能提供完整的版本?)
sppmg
活潑的高中生
活潑的高中生
 
文章: 317
註冊時間: 週五 8月 04, 2006 3:47 pm
來自: 臺灣


回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客