平時工作中用到linux的操作命令較多,因此為了方便,就給電腦裝了雙系統,一般工作的時候,都選擇進入linux系統。但是今天有件工作之外的事情需要解決下:創建一個windows啟動盤。如果按照往常來說,我會啟動windows,然後用xxx工作製作u盤啟動工具,傻瓜式的創建啟動盤。但是今天不想再重啟系 ...
平時工作中用到linux的操作命令較多,因此為了方便,就給電腦裝了雙系統,一般工作的時候,都選擇進入linux系統。但是今天有件工作之外的事情需要解決下:創建一個windows啟動盤。如果按照往常來說,我會啟動windows,然後用xxx工作製作u盤啟動工具,傻瓜式的創建啟動盤。但是今天不想再重啟系統進入windows做u盤的啟動盤了。想在想在linux系統中做u盤啟動盤。
之前也接觸到在linux中做u盤啟動盤的一些博客或其他信息,全部是說用dd命令就可以搞定,之前也試過,dd命令刻錄windows的iso文件有問題。系統無法識別刻錄出來的啟動盤。之前沒有深究什麼原因造成的,今天繼續這個問題,上網查找解決方案。找了好長時間終於找到一篇可以正常做啟動盤的文章。下麵是文章的網址,有興趣的大家可以自行查看:
url:http://blog.csdn.net/mike8825/article/details/51138575?locationNum=9 感謝 “天外之客”分享。
博客中也說了,linux的iso都自帶mbr,因此dd刻錄linux的iso時沒有問題,會將mbr一同刻錄進u盤中。但是windows的iso文件不自帶mbr,所以在linux系統做windows的啟動盤的時候,首先需要向u盤中寫入mbr信息。之後在將windows的iso內容拷貝到u盤中。這樣bios就能正確識別mbr,進而安裝windows系統。
按照上面博客的步驟,我進行瞭如下操作:
我的操作系統:ubuntu 17.04
1.首先檢查有沒有安裝ntfs-3g,看到我已經安裝過了.如果沒有安裝的執行命令: sudo apt install ntfs-3g
1 $ apt list ntfs-3g #檢查是否安裝了ntfs-3g 3 正在列表... 完成 4 ntfs-3g/zesty,now 1:2016.2.22AR.1-4 amd64 [已安裝] 5 6 $sudo apt install ntfs-3g #如果沒有安裝,則執行這個命令安裝
2.安裝lilo,看到也安裝完成了.如果沒有安裝,執行命令:sudo apt install lilo 進行lilo的安裝.
1 $dpkg -l lilo 2 3 期望狀態=未知(u)/安裝(i)/刪除(r)/清除(p)/保持(h) 4 | 狀態=未安裝(n)/已安裝(i)/僅存配置(c)/僅解壓縮(U)/配置失敗(F)/不完全安裝(H)/觸發器等待(W)/觸發器未決(T) 5 |/ 錯誤?=(無)/須重裝(R) (狀態,錯誤:大寫=故障) 6 ||/ 名稱 版本 體繫結構 描述 7 +++-===============================-====================-====================-=================================================================== 8 ii lilo 1:24.2-2 amd64 LInux LOader - the classic OS boot loader 9 10 $ sudo apt install lilo #如果提示未安裝,則進行安裝操作
3.查看U盤的盤符,將U盤的內容備份,之後格式化U盤.格式化程fat32就可以.(可以看到我的U盤格式已經是fat32的了)
1 $ sudo fdisk -l #查看U盤的分區 2 3 ... 4 5 Disk /dev/sdb: 7.3 GiB, 7784628224 bytes, 15204352 sectors 6 Units: sectors of 1 * 512 = 512 bytes 7 Sector size (logical/physical): 512 bytes / 512 bytes 8 I/O size (minimum/optimal): 512 bytes / 512 bytes 9 Disklabel type: dos 10 Disk identifier: 0x48156368 11 12 設備 啟動 Start 末尾 扇區 Size Id 類型 13 /dev/sdb1 * 1347328 15204351 13857024 6.6G c W95 FAT32 (LBA)
可以看到我的U盤的盤符是/dev/sdb
1 $ sudo mkfs.vfat /dev/sdb1 #格式化U盤,前提是U盤被正確卸載 2 mkfs.fat 4.0 (2016-05-06)
我用上方的命令格式化了U盤為fat32的格式.
4.在u盤中創建mbr(mbr是什麼意思,自己搜索吧),我這裡使用的lilo
1 $ sudo lilo -M /dev/sdb mbr #在u盤中寫入mbr 2 Backup copy of /dev/sdb in /boot/boot.0810 3 The Master Boot Record of /dev/sdb has been updated.
上方已經提示我創建mbr成功了.下麵就是將windows的iso中的內容拷貝到U盤中就可以了.
5.掛在鏡像和U盤,將windows鏡像中內容拷貝到U盤中.
1 $mkdir /tmp/win7 2 $mkdir /tmp/usb 3 4 $sudo mount -o loop cn_windows_7_professional_with_sp1_vl_build_x64_dvd_u_677816.iso /tmp/win7 5 6 $sudo mount /dev/sdb1 /tmp/usb 7 8 $ df -h #查看掛載點 9 文件系統 容量 已用 可用 已用% 掛載點 10 ..... 11 ..... 12 /dev/loop4 3.1G 3.1G 0 100% /tmp/win7 13 /dev/sdb1 6.6G 4.0K 6.6G 1% /tmp/usb
看到我已經掛載了系統,剩下的就是拷貝/tmp/win7中的東西到/tmp/usb中了
6.拷貝iso文件內容到usb中.
$ cp -rf /tmp/win7/* /tmp/usb #拷貝到U盤中 $sync #將記憶體中數據flush到磁碟中 $sudo umount /dev/sdb1 #卸載U盤 $sudo umount /tmp/win7 #卸載鏡像
現在搞定了.重啟電腦,驗證勞動成果吧