萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 直接從硬盤啟動Linux ISO鏡像的圖文教程

直接從硬盤啟動Linux ISO鏡像的圖文教程

 直接從硬盤啟動Linux ISO鏡像的圖文教程 三聯

  Linux的GRUB2啟動加載器可以直接從硬盤啟動Linux ISO文件,可以啟動Live CD的 ISO,而不用燒錄到光盤來安裝Linux到一個硬盤分區,或從USB驅動啟動。

  我們在Ubuntu 14.04上實施了該過程——Ubuntu及基於Ubuntu的Linux版本對此支持良好。其它Linux發行版上的工作原理也類似。

  獲取Linux ISO文件

  這一密技需要你的硬盤驅動器上安裝有Linux系統,你的計算機必須使用GRUB2啟動加載器,這是大多數Linux系統的標准啟動加載器。不好意思,你是不能使用Windows啟動加載器來直接啟動一個Linux ISO文件的。

  下載你想要使用的ISO文件,並放到你的Linux分區中。GRUB2應該支持大多數Linux系統的。如果你想要在live環境中使用它們,而不想將它們安裝到硬盤驅動器上,請確認你下載的是各個Linux ISO的“live CD”版本。很多基於Linux的可啟動工具盤也應該可以工作。

  檢查ISO文件內容

  你可能需要查看ISO文件的內部來知道那些特定的的文件在哪裡。例如,你可以通過使用Ubuntu及其它基於GNOME的桌面環境中的歸檔管理器/文件管理器這些圖形化應用程序來打開ISO文件。在Nautilus文件管理器中,右擊ISO文件並選擇使用歸檔管理器打開。

  找到內核文件和initrd映像。如果你正在使用Ubuntu ISO文件,你會在casper文件夾中找到這些文件——vmlinuz文件是Linux內核,而initrd文件是initrd映像。後面,你需要知道它們在ISO文件中所處的位置。

  檢查硬盤分區路徑

  GRUB使用與Linux不同的“設備命名”方式。在Linux系統中,/dev/sda0是硬盤上的第一個分區——a是指第一個硬盤,而0是指第一個分區。在GRUB中,與/dev/sda0相對應的是(hd0,1)。0指第一個硬盤,而1則指它上面的第一個分區。換句話說,在GRUB設備名中,磁盤編號從0開始計數,而分區編號則從1開始計數——是啊,這真是突然令人困惑。例如,(hd3,6)是指第四磁盤上的第六分區。

  你可以使用fdisk -l命令來查看該信息。在Ubuntu上,打開終端並運行以下命令:

  sudo fdisk -l

  你將看到一個Linux設備路徑列表,你可以自行將它們轉成GRUB設備名。例如,在下面的圖片中,我們可以看到有個系統分區是/dev/sda1——那麼,對於GRUB而言,它就是(hd0,1)。

  創建GRUB2啟動條目

  添加自定義啟動條目的最簡單的方式是編輯/etc/grub.d/40_custom腳本,該文件設計用於用戶自行添加啟動條目。在編輯該文件後,/etc/defaults/grub文件和/etc/grub.d/腳本的內容將合成創建/boot/grub/grub.cfg文件——你不應該手工編輯這個文件。它被設計為通過你在另外的文件中指定的設置自動生成。

  你需要以root特權打開/etc/grub.d/40_custom文件來編輯。在Ubuntu上,你可以通過打開終端窗口,並運行以下命令來完成:

  sudo gedit /etc/grub.d/40_custom

  放輕松點,你可以用你喜愛的文本編輯打開該文件。例如,你可以替換命令中“gedit”為“nano”,在Nano文本編輯器中打開它。

  除非你已經添加了其它自定義啟動條目,否則你應當看到的是一個幾乎空的文件。你需要在注釋行下添加一個或多個ISO啟動部分。

  這裡為你展示了怎樣來從ISO文件啟動Ubuntu或基於Ubuntu的發行版,我們在Ubuntu 14.04下作了測試:

  menuentry "Ubuntu 14.04 ISO" {set isofile="/home/name/Downloads/ubuntu-14.04.1-desktop-amd64.iso"loopback loop (hd0,1)$isofilelinux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=${isofile} quiet splashinitrd (loop)/casper/initrd.lz}

  自定義啟動條目以包含你期望的菜單的條目名稱,並指定計算機上該ISO文件的正確路徑,以及包含ISO文件的硬盤和分區設備名。如果vmlinuz和initrd文件的名稱或路徑不同,請為這些文件指定正確的路徑。

  (如果你的/home/ 目錄是一個分區,請忽略/home部分,像這樣:set isofile="/name/Downloads/${isoname}")。

  重要說明:不同的Linux版本要求帶有不同啟動選項的不同的啟動條目,GRUB Live ISO多啟動項目提供了用於不同Linux發行版的菜單條目的各種不同類型。你應當為你想要啟動的ISO文件調整這些示例菜單條目。你也可以僅僅從網頁搜索你想要啟動的Linux發行版的名稱和發行編號,並附帶關鍵詞“在GRUB中從ISO啟動”,以獲取更多信息。

  如果你想要添加更多ISO啟動選項,請為該文件添加額外部分。

  完成後保存文件,返回終端窗口並運行以下命令:

  sudo update-grub

  再次啟動計算機時,你將看到ISO啟動條目,你可以選擇它來啟動ISO文件。在啟動時,你可能需要按Shift鍵來顯示GRUB菜單。

  如果在嘗試啟動ISO文件時你看見錯誤信息或黑屏,那麼你的啟動條目配置肯定配置錯誤了。即使ISO文件路徑和設備名是正確的,ISO文件上的vmlinuz和initrd文件的路徑可能是不正確的,或者你啟動Linux系統可能需要不同的選項。

copyright © 萬盛學電腦網 all rights reserved