linux系統創建windows啟動盤


    平時工作中用到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            #卸載鏡像

    現在搞定了.重啟電腦,驗證勞動成果吧

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM