大多數(shù) Linux 發(fā)行版都會提供一個可以從 USB 啟動的 live 環(huán)境,以便用戶無需安裝即可測試系統(tǒng)。我們可以用它來評測這個發(fā)行版或僅僅是當(dāng)成一個一次性系統(tǒng),并且很容易將這些文件復(fù)制到一個 U 盤上,在某些情況下,我們可能需要經(jīng)常運行同一個或不同的 ISO 鏡像。GRUB 2 可以配置成直接從啟動菜單運行一個 live 環(huán)境,而不需要燒錄這些 ISO 到硬盤或 USB 設(shè)備。 獲取和檢查可啟動的 ISO 鏡像 為了獲取 ISO 鏡像,我們通常應(yīng)該訪問所需的發(fā)行版的網(wǎng)站下載與我們架構(gòu)兼容的鏡像文件。如果這個鏡像可以從 U 盤啟動,那它也應(yīng)該可以從 GRUB 菜單啟動。 當(dāng)鏡像下載完后,我們應(yīng)該通過 MD5 校驗檢查它的完整性。這會輸出一大串?dāng)?shù)字與字母合成的序列。將這個序列與下載頁提供的 MD5 校驗碼進(jìn)行比較,兩者應(yīng)該完全相同。 配置 GRUB 2 ISO 鏡像文件包含了整個系統(tǒng)。我們要做的僅僅是告訴 GRUB 2 哪里可以找到 kernel 和 initramdisk 或 initram 文件系統(tǒng)(這取決于我們所使用的發(fā)行版)。 在下面的例子中,一個 Kubuntu 15.04 live 環(huán)境將被配置到 Ubuntu 14.04 機器的 Grub 啟動菜單項。這應(yīng)該能在大多數(shù)新的以 Ubuntu 為基礎(chǔ)的系統(tǒng)上運行。如果你是其它系統(tǒng)并且想實現(xiàn)一些其它的東西,你可以從這些文件了解更多細(xì)節(jié),但這會要求你擁有一點 GRUB 使用經(jīng)驗。 這個例子的文件 kubuntu-15.04-desktop-amd64.iso 放在位于 /dev/sda1 的 /home/maketecheasier/TempISOs/ 上。 為了使 GRUB 2 能正確找到它,我們應(yīng)該編輯/etc/grub.d40-custom
分析上述代碼首先設(shè)置了一個變量名 $menuentry ,這是 ISO 文件的所在位置 。如果你想換一個 ISO ,你應(yīng)該修改 isofile='/path/to/file/name-of-iso-file-.iso'. 下一行是指定回環(huán)設(shè)備,且必須給出正確的分區(qū)號碼。 loopback loop (hd0,1)$isofile 注意 hd0,1 這里非常重要,它的意思是第一硬盤,第一分區(qū) (/dev/sda1)。 GRUB 的命名在這里稍微有點困惑,對于硬盤來說,它從 “0” 開始計數(shù),第一塊硬盤為 #0 ,第二塊為 #1 ,第三塊為 #2 ,依此類推。但是對于分區(qū)來說,它從 “1” 開始計數(shù),第一個分區(qū)為 #1 ,第二個分區(qū)為 #2 ,依此類推。也許這里有一個很好的原因,但肯定不是明智的(明顯用戶體驗很糟糕).. 在 Linux 中第一塊硬盤,第一個分區(qū)是 /dev/sda1 ,但在 GRUB2 中則是 hd0,1 。第二塊硬盤,第三個分區(qū)則是 hd1,3, 依此類推. 下一個重要的行是: linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splash 這會載入內(nèi)核鏡像,在新的 Ubuntu Live CD 中,內(nèi)核被存放在 /casper 目錄,并且命名為 vmlinuz.efi 。如果你使用的是其它系統(tǒng),可能會沒有 .efi 擴(kuò)展名或內(nèi)核被存放在其它地方 (可以使用歸檔管理器打開 ISO 文件在 /casper 中查找確認(rèn))。最后一個選項, quiet splash ,是一個常規(guī)的 GRUB 選項,改不改無所謂。 最后 initrd (loop)/casper/initrd.lz 這會載入 initrd ,它負(fù)責(zé)載入 RAMDisk 到內(nèi)存用于啟動。啟動 live 系統(tǒng)做完上面所有的步驟后,需要更新 GRUB2: sudo update-grub 當(dāng)重啟系統(tǒng)后,應(yīng)該可以看見一個新的、并且允許我們啟動剛剛配置的 ISO 鏡像的 GRUB 條目:選擇這個新條目就允許我們像從 DVD 或 U 盤中啟動一個 live 環(huán)境一樣。 |
|
來自: 昵稱11935121 > 《未命名》