轉自個人獨立博客:alanslab.cnhtml
先吐個槽,早知道windows越用越慢,沒想到過久不用還會壞。。。linux
昨天就遇到了這樣一件事,電腦的光驅早拆了換硬盤托架了,只好翻出來之前手機的sd卡開刀,網上參考了一些用dd作安裝u盤的文章,不少不靠譜,最終仍是在英文資料裏找到了須要的東西。這裏留個筆記,順便看誰須要也能夠省點力氣。windows
參考網址(感謝原做者分享!):oop
http://serverfault.com/questions/6714/how-to-make-windows-7-usb-flash-install-media-from-linuxcode
http://www.techrepublic.com/blog/linux-and-open-source/drive-and-partition-backups-with-dd/server
dd的簡介我就省了,一搜一大把。htm
網上流行的一種作法是把u盤分紅一個區,格式化成fat,而後 dd if=/xxx.iso of=/dev/sdx
,彷佛是有成功的人,但這裏缺乏了製做引導這一步,至少在我這裏是沒能搞定。blog
linux下製做引導能夠用 ms-sys
或 lilo -M
命令,我用的是後者,主要是由於在源裏直接有,並且以前用過lilo有親切感。。。ip
sudo apt-get install lilo
,用ms-sys的話自行搜索。get
注意:選擇安裝lilo的話不要執行它的配置嚮導,不然會頂替掉你電腦如今用的引導(grub之類)
開始以前用df
或別的什麼辦法搞清楚你的u盤是哪一個,這裏以我本身的狀況爲例/dev/sdd
使用 cfdisk /dev/sdd
或 fdisk /dev/sdd
分區,刪除全部分區,而後建立一個新的分區,佔用所有空間,把type設置成NTFS(就是在修改type的地方改爲7),標記爲bootable。
新的分區將會是/dev/sdd1
用NTFS格式化:mkfs.ntfs -f /dev/sdd1
寫入 windows 7 的 MBR 到u盤上(windows 8 也同樣):
ms-sys -7 /dev/sdd
或 sudo lilo -M /dev/sdd mbr
而後掛載 ISO 和 USB:
mount -o loop win7.iso /mnt/iso
mount /dev/sdd1 /mnt/usb
複製ISO全部文件到U盤: cp -r /mnt/iso/* /mnt/usb/
等複製完就完工,圖形化界面操做應該也同樣的。
如今的狀況是,你有了一個一切準備就緒的win7安裝u盤,再回想以前最開始的時候那個不徹底的作法,咱們能夠發揮一下,用dd把當前能夠引導的u盤整個備份下來,之後再用時就能夠用以前的辦法直接還原了。
dd if=/dev/sdd of=/win7.img
這樣咱們就有了一個直接恢復到u盤上就能夠進行usb安裝的鏡像文件了,可能不一樣的U盤容量上還會有一些麻煩,必需要跟這個U盤同樣或者更大,dd是連沒用到的空間都一塊兒保存了的。
最簡單的備份分區方式跟上文同樣,就是dd if=/dev/sda1 of=/path/to/backup.img
,但前文提到過dd會把空白字節也一塊兒複製了,對U盤來講還能接受,但備份硬盤分區也這樣就實在是離譜了,咱們能夠在備份完成後對img進行壓縮,或在備份過程當中即時完成:
dd if=/dev/sda1 | bzip2 -9f >/path/to/backup.img.bz2
還原時,若是你沒有壓縮:
dd if=/path/to/backup.img of=/dev/sda1
用前文方式壓縮了的話:
bunzip2 -dc /path/to/backup.img.bz2 | dd of=/dev/sda1