howto make a linux boot disk

Post on 17-May-2015

1.562 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

如何建立 Linux 開機片

Xaver Y. R. Chen (yrchen)yrchen@ATCity.org

預先準備

• Linux Machine?

• USB disk/CD-ROM

PC 開機流程

• 電腦啟動後,BIOS 作基本的硬體檢測,並根據設定決定開機裝置

• BIOS 依序進行開機,若在硬碟上則讀取最前面的 512bytes (MBR) 尋找 Boot Loader

GRUB

使用 grub 建立開機片

• blah:~ # mke2fs -L GRUB /dev/sdb0• blah:~ # mkdir /mnt/GRUB• blah:~ # mount /dev/sdb0 /mnt/GRUB• blah:~ # grub-install --root-directory=

/mnt/GRUB /dev/sdb0

以上還不夠

原因

• 雖然安裝了 grub 當作 boot loader,可是卻沒有設定 grub 的行為

• 也就是說,grub 不知道自己要幹嘛

設定 grub

• 請使用喜愛的編輯器,編輯/boot/grub/menu.1st 這個檔案

設定 grub

• 範例title Linux root (hd0, 1) kernel /vmlinuz root=/dev/hda1 initrd /initrd

重點

• grub 只是一個 boot loader,它的功能只有找到指定的核心並載入

• 要正確的開機,需要指定正確的 Kernel路徑和參數給 grub

重點

• 更重要的,grub 要讀得到自己的設定檔

• 設定檔跟部份程式都放在 /boot/grub/ 下

重點

• 若將 grub 安裝在 MBR 時,需告訴 grub/boot 這個目錄是在哪個設備上

• grub> root(hd0, 1)(表示第一個 IDE 裝置的第一個磁區)

檔案系統

• 因為 /boot 是個目錄,表示它一定存在於檔案系統中

• grub 必須支援讀取檔案系統

檔案系統

• Ext2/Ext3

• FAT/VFAT (FAT 32)

• Minix

• ReiserFS/JFS/XFS

檔案系統

• LVM?不支援!

• 目前 grub 僅支援以 Partition 為主的檔案系統,LVM 等以 Slice/Volume 為主的暫不支援

M$ Windows

• 因為 Windows 系統有自己的 boot loader,所以僅需把控制權轉交給 Windows 的 boot loader 即可

• Chain Loader 的概念

Wubi

Wubi

• Ubuntu installer for Windows

• Wubi 讓 Linux 可以讀寫 NTFS 磁區?

Wubi 的限制

• 不支援休眠• 比較容易毀損• 檔案系統存取效能較低,會遇到 FAT32/

NTFS 的老問題

SYSLINUX

SYSLINUX

• SYSLinux + PXELinux + ISOLinux +EXTLinux

• 一個輕量化的 boot loader,裝在 FAT檔案系統上

並不用裝在 MBR 上喔

SYSLINUX

• 如果 MBR 空空如也,BIOS 會依序跳進每個硬碟中的 partition

• 所以,SYSLINUX 直接裝在 FAT 磁區上即可

SYSLINUX

• 有 Windows 版本的可執行檔

• 所以,在 Windows 上也可以建立 Linux開機片

top related