syslinux とパーティショニングの理解

syslinux とパーティショニングの理解

私は、パーティション分割とブートローダーの仕組みを特に理解しようとしています。問題は、私の頭の中ですべてがねじ曲がっていることです。結局、もう何も理解できなくなってしまいました。

fdisk、、を使用してハードドライブをパーティション分割する方法を知っていますparted。syslinuxgdiskを使用して 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#インストール

1) syslinux は ext2 パーティションをサポートするはずなのに、何が問題なのでしょうか?

そこで、パーティションを Fat32 パーティションとしてフォーマットしました。

$ mkfs.vfat -F 32 /dev/sdb1

syslinux MBR のインストールが機能するようになりました:

$ syslinux -m /dev/sdb1
$ syslinux -i /dev/sdb1

2) 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.

3) 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実際、私の理解はこれまで以上に悪くなりました。どうもありがとうございます。

答え1

1) syslinux は ext2 パーティションをサポートするはずなのに、何が問題なのでしょうか?

はい、Syslinux は Extlinux 経由で ext2 fs をサポートします。UEFI/EFI ベースのシステムを使用している場合は、fat32 パーティションが必要です。GPT のみの場合は、fat32 パーティションは不要で、従来の ext で十分です。

2) MBR をインストールする必要がありますか。syslinux は GPT と互換性がありませんか? ドキュメントで読んだところによると、GPT は MBR よりも多くの利点があり、プライマリ パーティションをはるかに多く作成できるそうです。誤解していますか?

どちらを使用するかはあなた次第です。パーティション テーブル msdos と gpt の両方がサポートされています。

GPT の場合、gdisk を使用してレガシー BIOS ブート フラグを設定できます。ブート パーティションにレガシー BIOS ブート フラグが必要です。gdisk メニューに入ったら、「x」を使用してエキスパート モードに入り、「a」を使用して属性を設定します。

3) gdisk は自動的に GPT を作成しますか?

はい、訪問http://linux.die.net/man/8/gdisk

方法については、http://wiki.gentoo.org/wiki/Syslinux

答え2

ここでの問題/混乱は用語にあると思います。最初に「MBR のインストール」と言い、次に「なぜ MBR が GPT と一緒にあるのか」と言います。MBR はディスクが機能するために必要なもので、GPT は MBR を超えて存在する (作成される) パーティション スキームです。gparted などのパーティション ソフトウェアは、MBR と GPT を相互に排他的な 2 つのものとして提示します。GPT または GPT がないという表現の方が正確でしょう。GPT 以外のスキームを使用するシステムもありますが、それらはディスクの MBR 内で定義されます。したがって、両方のパーティション スキームをよりよく理解するには、最初のセクター 0-1 は常に MBR であり、その後に GPT の定義が始まります。MBR パーティションと拡張パーティションと呼ばれるものは、GPT のないものです (拡張の区別は不要で、パーティションの最小サイズとディスクのサイズに合わせて、いくつでもピースを許可します)。

MBR はインストールしません。デフォルトで存在し、そこに存在していなければディスクはゴミになります。MBR には、grub の core.img や syslinux の同等物など、次のステップに進むのに役立つソフトウェアをインストールします。特定の他のシステムに「再起動」するのに役立つ小さなオペレーティング システムです。GPT スキームが機能するために、MBR には GPT 定義が存在します。

/boot/grub または /boot/syslinux が消去されているか、まだ作成されていない場合に手動で操作するように求めるプロンプトが表示されるのは、*.img オペレーティング システムです。インストールを長時間いじっていると、いつかそれが表示されるようになります。その時点で GRUB> try help と入力します。このブートローダ オペレーティング システムがそのメニューまたはプロンプトを生成し、そこで grub/syslinux を特定のターゲット オペレーティング システムに再起動するように指定するというのが、理解の助けになります。再起動がない場合は、ブートローダはプロセス 1 PID1 になります。

私が言っていることの一部は 100% 正確ではないかもしれませんが、Linux ユーザーの 96.4% にとっては、やりたいことに進むのに役立つと思います。ブートローダの開発者や、ディスクのイメージのバックアップ、コピー、圧縮などのソフトウェアに携わっている人は、より正確な詳細を必要とします。検索すれば、ディスクの最初の小さなセルの問題とダイナミクス、および他のすべてのものが存在するためにそこに何が必要かに関する 1 時間の講義が見つかります。私たちのシステムは、この非常に機密性の高い情報の糸にかかっています。これは迷路への地図のようなものです。そうでなければ、あなたはミノタウロスの餌食になってしまいます。

関連情報