無U盤無額外軟件使用Grub2引導掛載硬盤安裝Manjaro等Linux雙系統(tǒng)

最近刷到Manjaro美化,被它的外觀打動,于是心癢又想裝Linux了,無奈暑假回來沒帶U盤,只能麻煩地純硬盤安裝了(此文章于23年3月重寫)。
目標:無U盤光驅(qū)等介質(zhì),無需下載第三方軟件,使用Grub2掛載硬盤分區(qū)法來安裝Linux/Win雙系統(tǒng)。
適用的Linux發(fā)行版:Manjaro,ArchLinux,Ubuntu,等(其他需自行測試)
準備:一臺裝有Windows的聯(lián)網(wǎng)電腦(廢話)
限制:此教程僅適用于GPT分區(qū)硬盤和使用UEFI引導模式的電腦
廢話不多說,教程開始。
*建議在完整閱讀完每一個大步驟后再進行操作!有些注意事項是在操作步驟之后的,手不要太快了!*

一、下載鏡像
下載你想要安裝的Linux發(fā)行版ISO鏡像,教程以Manjaro為例,其他發(fā)行版自行去互聯(lián)網(wǎng)搜索官網(wǎng)下載。
Manjaro ISO鏡像下載地址:https://manjaro.org/download/
Manjaro官方有三種桌面環(huán)境可以選擇,我選的是Plasma(這是KDE社區(qū)開發(fā)的桌面環(huán)境)。

如果你想下載Manjaro,點擊橙色的【Download】按鈕,并選擇藍色按鈕【Image】就可以下載ISO文件了(外網(wǎng)服務(wù)器,加速下載請使用魔法)。

二、硬盤分區(qū)
右鍵左下角的Win徽標→磁盤管理,找一塊硬盤(最好是跟Windows系統(tǒng)同一硬盤),自行尋找一個分區(qū),右鍵壓縮卷,分出一個不少于8GB的FAT32格式的分區(qū)來。這塊分區(qū)將會被當成“替代U盤”,存放ISO鏡像文件。將你下載的Linux?ISO鏡像復(fù)制進這個分區(qū)里。




再自行找一分區(qū),右鍵壓縮卷,分出一個不少于40GB(此分區(qū)用作Linux系統(tǒng)盤,按照自己的需求來,想用長久的Linux系統(tǒng)就分大一點)的分區(qū)來當做Linux的系統(tǒng)盤,可以先不格式化,保持未分配就行。

做完以上步驟后,你應(yīng)該有圖2.5中的三塊分區(qū):原分區(qū)(左一)、預(yù)分配給Linux系統(tǒng)盤的未分配黑塊空間(左二)、“替代U盤分區(qū)”(右一)。
三、關(guān)閉安全啟動,快速啟動和設(shè)置AHCI
關(guān)閉電腦,進入BIOS,按照自己電腦的相關(guān)方式做以下三個事情:
1.關(guān)閉快速啟動(有的電腦沒有,沒有的就在控制面板里關(guān),位置自己百度找)
2.關(guān)閉安全啟動(即Security Boot)
3.硬盤SATA類型改成AHCI
*注意:如果你的電腦磁盤有BitLocker,在關(guān)閉 安全啟動 后開機進入Windows系統(tǒng)可能會要求你輸入BitLocker解鎖密鑰,請在進行以上步驟之前檢查你的BitLocker狀態(tài),并關(guān)閉它或者記下解鎖密鑰,否則硬盤會廢掉,里面的數(shù)據(jù)也會永久不可讀!*

如果你的電腦在做完以上三步后出現(xiàn)無法正常進入原Windows系統(tǒng)(例如無限重啟),請回到BIOS將安全啟動打開并將硬盤SATA類型切換回去,在正常進入原Windows系統(tǒng)后,使用鍵盤快捷鍵Win+R打開運行對話框,輸入“msconfig”并回車,在打開的“系統(tǒng)配置”窗口中單擊“引導”選項卡,勾選“安全引導”后單擊【確定】按鈕,并在彈出的對話框中單擊【重新啟動】按鈕。


在重啟開機的瞬間進入BIOS,將硬盤SATA類型改為AHCI,保存重啟后系統(tǒng)會自動進入Windows安全模式,在安全模式系統(tǒng)下重復(fù)Win+R→msconfig→引導選項卡→取消勾選安全引導→確定→重新啟動,完成后你的Windows系統(tǒng)應(yīng)該就可以在AHCI模式下正常啟動了。
四、安裝Grub2
*此步驟中標紅字體是需要根據(jù)你電腦的情況來進行更改的,不可無腦復(fù)制*
在https://ftp.gnu.org/gnu/grub/下載最新版本的grub_windows.zip,解壓到任意一個地方,進入解壓后的Grub2文件夾,在文件窗口空白處按住Shift鍵+鼠標右鍵,選擇“在此處打開 Powershell/CMD/命令行提示符 窗口”(依不同電腦情況而定)。

鍵入命令:grub-install.exe --target=x86_64-efi --efi-directory=f: --boot-directory=f:
等一下,不要著急復(fù)制哦,你需要根據(jù)你剛剛分出的“替代U盤”的盤符,將命令參數(shù)efi-directory和boot-directory后的參數(shù)f:替換成你的盤符,例如你的“替代U盤”的盤符是H:\,那么它倆后面的參數(shù)就是h:。如果你使用的是Powershell,運行此命令會提示無法識別報錯項,只需要在命令前添加.\即可,完整命令:.\grub-install.exe --target=x86_64-efi --efi-directory=f: --boot-directory=f:。
回車后會自動彈出一個CMD窗口,等待Grub2安裝完成后它會自己關(guān)閉,不會有任何提示,如果你的“替代U盤”分區(qū)中有efi和grub文件夾,即證明安裝成功。

五、安裝前的準備
*此步驟中標紅字體是需要根據(jù)你電腦的情況來進行更改的,不可無腦復(fù)制*
將你要安裝的Linux的ISO鏡像移至“替代U盤”分區(qū)中,并需要記下四個信息以供在命令行中使用:
“替代U盤”所在的分區(qū)號
ISO鏡像文件名
Linux內(nèi)核路徑與ISO label名
Linux系統(tǒng)引導路徑與Intel微碼固件路徑
接下來我將會帶你一路獲取這些信息。
5.1? ? “替代U盤”所在的分區(qū)號
打開Powershell(管理員),鍵入“diskpart”命令,進入磁盤管理命令行實用程序。

鍵入“list disk”,列出計算機所有物理硬盤。其中,可以根據(jù)磁盤大小來分辨出你的“替代U盤”所在的磁盤號,例如我的“替代U盤”在我512G的固態(tài)上,那么“替代U盤”的磁盤號就是1。
*注意:Windows里的磁盤號不代表Grub命令操作系統(tǒng)中的最終磁盤號,實際應(yīng)以Grub命令操作系統(tǒng)中的磁盤號為準*

鍵入“select disk 1”,回車,將磁盤1設(shè)為選擇磁盤,再鍵入“list partition”回車,列出該磁盤上的所有分區(qū)。同樣尋找出“替代U盤”的分區(qū),記下它的分區(qū)號。

如上圖,例如我的“替代U盤”在磁盤1,分區(qū)5,那么我的“替代U盤”的分區(qū)號就是(hd1,gpt5),記下你自己的分區(qū)號。
5.2? ? ISO鏡像文件名
記下你的鏡像文件名。

5.3? ? Linux內(nèi)核路徑與ISO label名
右鍵裝載ISO鏡像文件、或是雙擊使用壓縮程序查看其內(nèi)部文件,尋找名為vmlinuz-x86_64的文件(一般它在boot文件夾中),記下它的路徑。

裝載ISO鏡像文件,查看窗口標題欄的大寫字母+數(shù)字的字符串,這就是此ISO鏡像文件的label,記下它。

5.4? ? Linux系統(tǒng)引導路徑與Intel微碼固件路徑
右鍵裝載ISO鏡像文件、或是雙擊使用壓縮程序查看其內(nèi)部文件,尋找名為initramfs-x86_64.img和intel_ucode.img的文件(一般它在boot文件夾中),記下它們的路徑。

至此,你的安裝準備工作已完成,將所有信息記錄在紙上或手機中,重啟電腦進入下一步。
六、引導系統(tǒng)啟動
一般來說,如果你成功安裝了Grub2,那么在你重啟電腦后應(yīng)該就能進入到Grub命令行,如果你沒有進入到Grub2命令行,則需要在BIOS中將grub引導移至第一位并重啟電腦,如圖6.1。

如圖6.2即為Grub命令行,如出現(xiàn)此屏幕則可繼續(xù)。

接下來,我們需要編寫啟動配置腳本來手動引導Linux系統(tǒng)的啟動,我建議你在編寫前先使用“ls”命令查看Grub命令行中對于磁盤的編號是否與我們之前在Windows中查詢的磁盤編號一致,例如圖6.3,我的編號已經(jīng)不一致了,在Windows中我的“替代U盤”所在的磁盤應(yīng)該是磁盤1,但是Grub中顯示的卻是磁盤0,此時我應(yīng)該使用Grub中的分區(qū)號。無需擔心分區(qū)編號錯亂,這是不會發(fā)生的。
*此步驟中標紅字體是需要根據(jù)你電腦的情況來進行更改的,不可無腦復(fù)制*
現(xiàn)在,讓我們開始寫令人頭疼的腳本吧。
>? insmod ntfs? //載入NTFS模塊,為硬盤及相關(guān)驅(qū)動提供支持
>? insmod iso9660? //載入iso9660模塊,為讀取我們的ISO鏡像文件提供支持
>? set isofile="/manjaro-kde-22.0.5-230316-linux61.iso"? //設(shè)置一個名為“isofile”的變量,變量內(nèi)容就是我們的ISO鏡像文件名,別忘了前面的斜杠
>? search --no-floppy -f --set=root $isofile? //設(shè)置Grub根目錄
>? probe -u $root --set=pro? //配置驅(qū)動
>? loopback loop (hd0,gpt5)$isofile? //回環(huán)設(shè)備,掛載ISO
>? linux (loop)/boot/vmlinuz-x86_64 misolabel=MANJARO_KDE_2205 img_dev=/dev/disk/by-uuid/$pro img_loop=$isofile driver=nonfree? //配置Linux內(nèi)核
>? initrd (loop)/boot/intel_ucode.img (loop)/boot/initramfs-x86_64.img? //配置Linux引導路徑
>? boot? //開始引導

在敲完“boot”并回車后,你的電腦就會黑屏并開始引導ISO鏡像文件,如果你的腳本編寫無誤,那么屏幕上很快就會出現(xiàn)如圖6.4滾動的系統(tǒng)初始化日志,如果沒有的話請重啟電腦,正確編寫腳本以重試。

一陣激♂烈的滾屏之后應(yīng)該就會進入你的Linux操作系統(tǒng)的預(yù)安裝環(huán)境,接下來按照正常步驟安裝Linux即可(圖6.5)。

現(xiàn)在,我們之前沒有分配的磁盤空間可以派上用場了,把Linux的小家安放進去吧(圖6.6)。


Manjaro提供引導界面,如果你想使用Windows的話就選擇Windows Boot Manager以進入Windows的引導界面。引導界面依不同Linux操作系統(tǒng)而不同,如有疑問請百度查詢相應(yīng)的教程(圖6.8)。

一般來說,Linux的引導都可以與Windows Boot Manager共存,并會在其引導界面提供進入Windows Boot Manager的選項,所以建議將Linux的引導置于第一優(yōu)先級。

在安裝完成后我們之前創(chuàng)建的“替代U盤”就可以刪除了,然后合并回原分區(qū),BIOS里的引導項也會一并刪除。
七、后語
按照此方案安裝的Windows/Linux雙系統(tǒng)會出現(xiàn)眾所周知的時間不同步的問題,此問題的解決方案百度上也有很多,此處不多贅述。
好好享受你的雙系統(tǒng)吧,再會!

.VklaTFlDTFk.
.331783-154757-201.