Table of Contents 準(zhǔn)備: 1、gpt分區(qū)形式移動固態(tài)硬盤一個(gè), 2、VMware Workstation Pro ,下載地址 3、bootice,下載地址 4、xorbootu,下載地址及教程 5、wtga,下載地址及教程 7、centos x86_64版下載地址https://buildlogs./rolling/7/isos/x86_64/,推薦everything版本 9、diskgenius軟件,百度下載 11、打開efi分區(qū)的方法
一、基礎(chǔ)知識1、計(jì)算機(jī)啟動過程參考文章https://www.jianshu.com/p/f11e6e5d5c81 windows10的uefi + gpt大致啟動過程:通電 -> 讀取并展示所有可引導(dǎo)的存儲設(shè)備 -> 用戶選擇或默認(rèn)第一個(gè)硬盤 -> 讀取第一個(gè)FAT格式的分區(qū) -> 執(zhí)行EFI/Boot/bootx64.efi文件 -> 加載啟動管理器EFI/Microsoft/bootmgfw.efi并讀取bcd文件 -> 按bcd中信息和用戶選擇(只有一個(gè)就不用選)啟動對應(yīng)操作系統(tǒng) -> 一般是加載指定分區(qū)(如c盤)的Windows/system/winload.efi文件 windows10的BIOS + mbr大致啟動過程:通電 -> 讀取并展示所有可引導(dǎo)的存儲設(shè)備 -> 用戶選擇或默認(rèn)第一個(gè)硬盤 -> 讀取硬盤的mbr(主引導(dǎo)記錄,在第一個(gè)扇區(qū),512字節(jié)) -> 據(jù)此在分區(qū)表中檢查活動分區(qū)位置 -> 在活動分區(qū)的分區(qū)引導(dǎo)記錄(PBR,活動分區(qū)引導(dǎo)記錄也稱DBR,大約1M的分區(qū),一般打不開,需要bootice才能編輯)中查找bootmgr和Boot/BCD -> 據(jù)此加載指定分區(qū)的windows/system/winload.efi文件,啟動系統(tǒng) win10的efi啟動 <==> gpt磁盤,BIOS啟動 <==> mbr磁盤 gpt磁盤和mbr磁盤的區(qū)別就是gpt一定會多出一個(gè)efi分區(qū)保存分區(qū)信息,mbr則是保存在第一個(gè)扇區(qū)。 二、安裝windows到vhd方法一、使用wtga使用wtga非常簡單,選擇ISO文件,目標(biāo)磁盤,vhdx模式,uefi+gpt,600gb,其他默認(rèn)就行了。 1、要注意要在本地磁盤系統(tǒng)上進(jìn)行制作,若是移動磁盤上的系統(tǒng)則有可能提示創(chuàng)建vhd文件失敗而失敗。 2、對多種類系統(tǒng)不友好。若安裝Linux會使用其他引導(dǎo)程序,對efi分區(qū)產(chǎn)生改動,就會使原來的引導(dǎo)故障。 3、若改動后啟動藍(lán)屏,應(yīng)該使用bootice高級模式編輯bcd,修改windows boot manager的applictiondevice為該移動硬盤(壞了是unknowdevice),但是一個(gè)問題是只能引導(dǎo)一個(gè)了,多個(gè)的話也不會出現(xiàn)選擇界面 4、也不利于備份查看。無法直接用虛擬機(jī)進(jìn)入系統(tǒng)中查看系統(tǒng)。 方法二、使用vmware1、首先創(chuàng)建vhd磁盤到移動硬盤:計(jì)算機(jī)管理 -> 磁盤管理 -> 操作 -> 創(chuàng)建vhd,30GB,固定大小,vhd后綴。 必須是固定大小,動態(tài)的引導(dǎo)要用win10專用程序,不然啟動時(shí)會提示vhd host space not enough。然后再初始化為mbr磁盤,分配盤符。這里也不能是gpt,因?yàn)椴缓靡龑?dǎo)。 2、打開vmware,創(chuàng)建自定義虛擬機(jī): windows x64類型,BIOS啟動方式,物理硬盤(整個(gè)磁盤)。這里物理硬盤選擇我們剛剛創(chuàng)建并掛載的磁盤,可以進(jìn)磁盤管理找到對應(yīng)的序號。 3、進(jìn)入設(shè)置,選擇CD,指向安裝ISO包。 4、啟動,等待安裝,重啟,關(guān)機(jī)。再去磁盤管理分離vhd。 5、打開xorboot,第三個(gè)選項(xiàng)(uefi啟動序列) -> 導(dǎo)出xorboot.efi 6、新建菜單,類似下面這樣 7、OK,完成了,可以重啟,f12,選擇磁盤,選擇這個(gè)系統(tǒng)啟動了 8、優(yōu)點(diǎn):可以在另外一個(gè)系統(tǒng),掛載磁盤,用BIOS啟動類型的的虛擬機(jī)登錄系統(tǒng)。只是需要手動擴(kuò)容,無大礙。 9、可能開機(jī)總是彈出一個(gè)什么優(yōu)化提示,那是因?yàn)槠帘瘟吮镜赜脖P,系統(tǒng)優(yōu)化緩存沒地放,可以啟用一個(gè)本機(jī)盤就行。無大礙。 附win10開機(jī)自動掛載虛擬磁盤的方法:1、手動點(diǎn)擊磁盤文件,彈出錯(cuò)誤,需要去磁盤管理手動聯(lián)機(jī)并分配驅(qū)動器號。 2、保存下面為bat文件
進(jìn)win10設(shè)置,關(guān)閉自動播放,就不會每次啟動彈出資源管理器了 3、控制面板 -> 管理工具 -> 任務(wù)計(jì)劃程序 (打開啟動任務(wù))創(chuàng)建任務(wù)。 常規(guī) -> 選擇用戶和不管用戶登錄都要運(yùn)行 ,使用最高權(quán)限運(yùn)行 操作 -> 添加bat文件 觸發(fā)器 -> 用戶登錄時(shí)或者開機(jī)時(shí),看你需要
三、安裝Linux到vhd安裝Linux到vhd是比較麻煩的,Linux不好的看教程都看不懂。我是搞整整兩天才成功,看了無數(shù)的教程。主要教程地址: 這是無憂論壇的niumao大神寫的,這應(yīng)該目前唯一可用的原創(chuàng)啟動vhd中Linux的教程,我找遍全網(wǎng),基本是復(fù)制他的方法,在國外論壇是也是被推薦了這個(gè)網(wǎng)址,有興趣的兄弟可以去這個(gè)論壇研究一下。 我示例用的ubuntu,制作好了需要的兩個(gè)啟動文件了,有興趣的可以拿來直接用。下載地址https://pan.baidu.com/s/1xh6iwybAdIt2KjyJmet1hw,提取碼 rzih。里面也包含教程和標(biāo)準(zhǔn)文件。 grub2啟動菜單寫法如下:
1、使用grub2引導(dǎo)從這里下載grub2-for-windows,https://www./en/install-grub2-from-windows/#Download 制作efi文件的時(shí)候要把上菜單需要的命令添加進(jìn)去 制作好引導(dǎo)后放到對應(yīng)的目錄下,最好使用xorbootu菜單,指向它的efi文件,以便和windows引導(dǎo)共存,目錄結(jié)構(gòu)不能變(EFI/Boot/bootx64.efi 是寫死的)。 2、制作vhd文件(1)新建vhd,固定大小20gb,vhd類型,掛載,打開VMware,新建類型為ubuntu 64位(不能沒有64),BIOS啟動類型,磁盤使用物理磁盤,指向此整個(gè)磁盤。修改配置,CD為ubuntu的ISO文件。開機(jī) (2)制作過程中需要特別注意的一點(diǎn)是,一定不要出現(xiàn)邏輯分區(qū),只有一個(gè)主分區(qū)就行。ubuntu16,若系統(tǒng)自動分區(qū),會有swap這個(gè)邏輯分區(qū),我當(dāng)初就是這樣,踩了個(gè)大坑。這里手動分區(qū),分一個(gè)就夠了。ubuntu18,系統(tǒng)自動只有一個(gè)主分區(qū),可以自動。最好使用diskgenius工具查看,若磁盤下只有一個(gè)盤就OK。手動分區(qū),會遇到虛擬機(jī)屏幕分辨率太小,按鈕被隱藏的文件,建議去網(wǎng)上找樣圖,用tab鍵分。 (3)最好使用我制作的兩個(gè)文件引導(dǎo)此ubuntu.vhd,(initrd.img-4.13.0-36-generic和vmlinuz-4.13.0-36-generic),若成功則可下一步自己制作,這樣兼容性好很多。 (4) 三個(gè)文件最好放同一目錄 若啟動失敗,報(bào)錯(cuò)init問題,如not init working found,那就可能是分區(qū)沒分好,啟動菜單寫錯(cuò)了。 3、自己制作initrd.img文件方法如下: 首先通過虛擬機(jī)進(jìn)入你的ubuntu ①在終端安裝必要軟件 sudo apt-get install kpartx kpartx-boot util-linux dmsetup lvm2,若聯(lián)網(wǎng)卻提示找不到軟件,請 sudo apt-get update。最好分開安裝,dmsetup可能是dm-setup ② sudo gedit /usr/share/initramfs-tools/init 把init里面第30行的 ③sudo gedit /usr/share/initramfs-tools/scripts/local ,用標(biāo)準(zhǔn)文件里local的替換 ④sudo gedit /usr/sbin/mkinitramfs 用標(biāo)準(zhǔn)文件里mkinitramfs的替換 ⑤sudo gedit /etc/initramfs-tools/modules 加入以下三行 ⑥ 編譯安裝ntfs-3g ./configure ⑦ sudo gedit /usr/share/initramfs-tools/scripts/local-bottom/ntfs_3g 用標(biāo)準(zhǔn)文件里ntfs_3g的替換 ⑧生成:sudo /usr/sbin/mkinitramfs -o ~/initrd.img-XXXXXXXXX-generic // 這里xxxx請與/boot/里對應(yīng)的文件版本號保持一致 不出意外的話可以在home中找到生成的文件 (6)vmlinuz文件是/boot/下對應(yīng)的那一個(gè) (7)建議使用U盤傳輸文件,貌似無法在虛擬機(jī)和主機(jī)之間復(fù)制粘貼。方法:菜單欄 -> 虛擬機(jī) -> 可移動設(shè)備 -> 你的u盤 -> 連接??赡苄枰匦虏灏蜺盤,以連接。 (8)說明,我的標(biāo)準(zhǔn)文件是在niumao大神分享ubt-small.vhd中提取的,因?yàn)樗窒淼奈募粚Γ赡苁前姹締栴}),直接去啟動它的vhd,復(fù)制出來,替換,也是可以的。 四、安裝centos等到vhd方法一、先制作好vhd文件,centos分三個(gè)區(qū),不要有l(wèi)vm分區(qū),swap也分成標(biāo)準(zhǔn)分區(qū)(主分區(qū)),提取出上面ubuntu的lib/modules下的xxxxxx.generic文件夾(先壓縮再解壓),再放進(jìn)centos的lib/modules/ 里面。我也分享了一個(gè)可以直接用的https://pan.baidu.com/s/1Wkxs2C9RxX9D7OdyXL_Qag 提取碼:ls5l 上面的引導(dǎo)菜單只需改對應(yīng)文件和kroot=/dev/mapper/loop0p2(這個(gè)2應(yīng)該改為你的根分區(qū)“/”所在順序,若你分了三個(gè)主分區(qū),根分區(qū)在中間就是2,使用diskgenius即可查看根分區(qū)的位置),下面貼出我的菜單(class可換可不換)
ps:centos不支持ntfs,所以U盤格式化為fat即可,fat不支持那個(gè)文件夾中的數(shù)據(jù)類型,所以需要變?yōu)閴嚎s文件。 若VMware中分辨率太低,不妨右鍵程序圖標(biāo),設(shè)置調(diào)整視圖屬性。 centos安裝時(shí)把軟件全鉤了也只需10g的空間,建議全鉤了,不然之后安裝就很麻煩,例如圖形界面。 因?yàn)檫€需設(shè)置這個(gè)文件夾的權(quán)限為755,新手建議用root用戶操作,默認(rèn)755. 方法二見分享教程fedora,是可以給centos用的,我試了,沒直接轉(zhuǎn)移一個(gè)壓縮文件方便,不介紹了。 其他Linux與方法一一樣替換即可 五、最后1、把所有系統(tǒng)都變成一個(gè)文件,無需格式化U盤,是不是心情很舒暢。到這里我們就成功的把win10、ubuntu、centos成功裝進(jìn)vhd,放進(jìn)優(yōu)盤,并且優(yōu)盤無需改動,可以方便的備份,復(fù)制,可以方便的真機(jī)登錄和虛擬機(jī)登錄,也可以方便的升級。直接把安裝到u盤,一般只能裝一個(gè)系統(tǒng),而且升級的話大概率會使系統(tǒng)廢了,裝進(jìn)vhd升級沒問題的。(ps: 有些同學(xué)喜歡禁用win10自動更新,如果只是禁止啟動的話是沒用的,win10還是會強(qiáng)制更新,而禁用自動啟動會導(dǎo)致更新失敗,并數(shù)次重啟還原,然后又是更新,這時(shí)應(yīng)該開啟自動更新服務(wù)) 2、可以將虛擬機(jī)使用整個(gè)移動硬盤進(jìn)行啟動測試,但是efi分區(qū)得把ID改回來 3、若想讓移動固態(tài)硬盤成為第一啟動項(xiàng),而不用每次按f12選擇,建議使用bootice,修改ufei啟動序列,自己進(jìn)BIOS修改可能會無效。 4、禁用win10自動更新的方法:設(shè)置 -> 網(wǎng)絡(luò)和Internet -> 狀態(tài) -> 更改連接屬性 -> 開啟 '按流量計(jì)費(fèi)的鏈接' 目前這方面的教程比較稀少,我寫的也比較匆忙,不懂的兄弟可以找我QQ1147940842,如果覺得有幫助或者有不好的地方,還請留言,評論,感謝。
補(bǔ)充:最近(2019/4/26)實(shí)現(xiàn)動態(tài)大小的vhdx裝系統(tǒng),原來只需修改注冊表項(xiàng)就行了,[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FsDepends\Parameters] "VirtualDiskExpandOnMount"從1改為4,就不會提示vhd空間不足,原因是動態(tài)vhd引導(dǎo)時(shí)為了性能,會擴(kuò)張到最大大小,參考微軟原文。再說明下安裝時(shí)選虛擬機(jī)x64配置,uefi對應(yīng)gpt磁盤,虛擬磁盤新建時(shí)應(yīng)該使用diskgenius重新快速分區(qū),要有esp分區(qū),磁盤管理器分會無法安裝;bios對應(yīng)mbr,就不能用diskgenius分,只能磁盤管理器?,F(xiàn)在就方便很多了,初始體積減少大半,可以方便的差分。 補(bǔ)充:可以使用xorbootu引導(dǎo),也可以使用原windows引導(dǎo)文件,如從可用win10系統(tǒng)的efi分區(qū)照移(如gpt虛擬機(jī)磁盤),原bootx64.efi改名,新建引導(dǎo)項(xiàng)指向它,原BCD刪除,新建一個(gè),添加各種啟動項(xiàng)。不知為何win啟動管理器界面編程老版黑白的,不是新版藍(lán)色的,試了幾次改不回來,不過也好,老版的不要選定后重新啟動機(jī)器。 補(bǔ)充:vhd + bitlocker是非常不錯(cuò)的文件保護(hù)方式
|
|