linux系統創建windows啟動盤

来源:http://www.cnblogs.com/mingxiazhichan/archive/2017/05/31/6923304.html
-Advertisement-
Play Games

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

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

   

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Redis 小白指南(二)- 基礎命令和五大類型:字元串、散列、列表、集合和有序集合 引言 開篇已經介紹了 Redis 安裝、GUI 和 C# 驅動等基本知識,這一篇主要是梳理一下 Redis 的 5 種類型的信息與指令。 目錄 字元串類型 散列類型 列表類型 集合類型 有序集合類型 其它命令 字元 ...
  • 【事務】一組SQL語句操作單元,組內所有SQL語句,完成一個業務。 若整組成功,意味著組內的全部操作都成功; 反之,若其中任何一條語句失敗,意味著整個操作都失敗。 操作失敗,意味著整個過程都是沒有意義的,應使資料庫回到操作前的初始狀態。 【point】1. 失敗後,能回到開始位置; 2. 成功之前, ...
  • 上一篇,我們講述了HBase的協處理器。    下麵我們開始介紹Impala的介紹及安裝。 ...
  • Redis 小白指南(一)- 簡介、安裝、GUI 和 C# 驅動介紹 目錄 簡介 安裝 入門指令 GUI 工具 C# 驅動介紹 簡介 ANSI C 編寫,開源,基於記憶體,可持久化,一個鍵值對的資料庫,用法簡單。 支持的類型:字元串、散列、列表、集合和有序集合。 因為 Redis 預設將所有數據都存儲 ...
  • 添加用戶組命令groupadd 提示:groupadd命令的使用非常簡單,但在生產環境中使用的不多,因此,會簡單應用即可。 與groupadd命令有關的文件有:/etc/group :用戶組相關文件/etc/gshadow :用戶組加密相關文件 groupadd命令語法 [root@chensiqi ...
  • 管理用戶命令彙總 sudo是通過另一個用戶來執行命令,su 是用來切換用戶,然後通過切換到的用戶來完成相應的任務,但sudo能在命令後面直接接命令執行, 比如sudo ls /root,不需要root密碼就可以執行只有root才能執行的相應命令或具備的目錄許可權;這個許可權需要通過visudo命令或者直 ...
  • 匯流排是CPU與存儲器和設備通信的機制,是電腦各部分之間傳送數據、地址和控制信息的公共通道。 按照相對於CPU的位置來劃分,匯流排可分為片內匯流排和片外匯流排。片內匯流排用來連接CPU內部各主要功能部件,而片外匯流排則用作CPU與存儲器和I/O介面之間進行信息交換的通道。如果按照功能和信號類型劃分,匯流排可分為 ...
  • Linux下如何查看使用YUM安裝過的包的安裝路徑呢? 在搞清楚這個問題前,我們先來瞭解一下YUM。 YUM(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟體包管理器。基於RPM包管理,能夠從指定的伺服器自動下... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...