了解 syslinux 和分區
我正在嘗試學習,尤其是了解分區和引導載入程序是如何工作的。問題是我把這一切都扭曲了。最後我什麼都不懂了。
fdisk
我知道如何使用,parted
,對硬碟進行分區gdisk
。我嘗試使用 syslinux 鍊式載入 iso 文件(例如 ubuntu.iso、arch.iso)。為了說明我的困惑,這是我所做的:創建一個 linux 分區:
$ gdisk /dev/sdb Command (? for help): n Partition number (1-128, default 1): First sector (34-7821278, default = 36) or {+-}size{KMGTP}: Last sector (36-7821278, default = 7821278) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): Changed type of partition to 'Linux filesystem' Command (? for help): p Disk /dev/sdb: 7821312 sectors, 3.7 GiB Logical sector size: 512 bytes Disk identifier (GUID): F7F2BE49-B8D8-4910-8E69-381DEBD954DC Partition table holds up to 128 entries First usable sector is 34, last usable sector is 7821278 Partitions will be aligned on 4-sector boundaries Total free space is 2 sectors (1024 bytes) Number Start (sector) End (sector) Size Code Name 1 36 7821278 3.7 GiB 8300 Linux filesystem Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/sdb. The operation has completed successfully.
然後我將此分區格式化為 ext2 :
$ mkfs.ext2 /dev/sdb1
現在我想用 syslinux 安裝 MBR(取自我發現的極少數教程)
$ syslinux -m /dev/sdb1 syslinux: invalid media signature (not a FAT filesystem?)
所以它需要是一個FAT分區。但是我讀到 syslinux 支持 Fat32、ext2、ext3、ext4 文件(https://wiki.archlinux.org/index.php/syslinux#Installation)
- 這裡有什麼問題,因為 syslinux 應該支持 ext2 分區?
所以我將分區格式化為 Fat32 分區:
$ mkfs.vfat -F 32 /dev/sdb1
現在安裝 syslinux MBR 工作:
$ syslinux -m /dev/sdb1 $ syslinux -i /dev/sdb1
- 我必須安裝 MBR,syslinux 與 GPT 不兼容嗎?我閱讀了
GPT
比 具有更多優勢的文件MBR
,例如允許創建更多主分區。我誤會了嗎?然後我發現我需要將分區標記為可引導(http://www.linuxquestions.org/questions/linux-general-1/booting-iso-images-from-a-usb-disk-917161/)。我可以這樣做
gdisk
嗎?在我看來這是不可能的,因為手冊沒有談到引導標誌。另一方面,fdisk
允許我這樣做。然而,這是另一個問題:$ fdisk /dev/sdb WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.
- gdisk 會自動創建 GPT 嗎?
$ gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.8 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present
4)這個MBR來自哪裡?MBR和GPT怎麼能這樣共存?
如您所見,當我嘗試進行更深入的分區操作時,我意識到一切都搞混了。如果您能回答我的問題,特別是為我提供額外的文件,我將不勝感激:https ://wiki.archlinux.org和http://www.syslinux.org/wiki實際上讓我的理解比以往任何時候都更糟。非常感謝。
- 這裡有什麼問題,因為 syslinux 應該支持 ext2 分區?
是的,Syslinux 通過 Extlinux 支持 ext2 fs。如果您使用的是基於 UEFI/EFI 的系統,那麼您需要一個 fat32 分區。僅對於 GPT,您不需要 fat32 分區,只需使用傳統分區即可。即分機?
- 我必須安裝 MBR,syslinux 與 GPT 不兼容嗎?我閱讀了 GPT 比 MBR 具有更多優勢的文件,例如允許創建更多的主分區。我誤會了嗎?
你想用什麼取決於你,分區表 msdos 和 gpt 都受支持。
如果是 GPT,您可以使用 gdisk 設置舊版 bios 引導標誌。引導分區上必須有一個傳統的 bios 引導標誌。進入 gdisk 菜單後,使用“x”進入專家模式,然後使用“a”設置屬性。
- gdisk 會自動創建 GPT 嗎?