特に、パーティショニングとブートローダがどのように機能するかを学びたいと思います。問題は、私の頭の中にすべてがねじれているということです。結局私は何も理解できませんでした。
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)
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パーティションは必要なく、既存のパーティションのみを使用できます。それは拡張ですか?
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以外のスキームを使用してもディスクのMBRに定義されている他のシステムがあります。したがって、2つの分割方式をより良く理解するために、第1のセクタ0-1は常にMBRであり、GPT定義はその後に始まる。 MBRパーティションと拡張パーティションとは、GPTなしのパーティションです(拡張パーティションを区別する必要がないため、パーティションの最小サイズとできるだけ多くのパーティションを収容できるディスクサイズが許可されます)。
MBRはインストールされておらず、デフォルトで存在し、そこにいる方が良いです。それ以外の場合、ディスクはゴミです。 grub の core.img または syslinux に対応するエントリなどのエントリを MBR にインストールできます。これは次の手順に進むのに役立ちます。特定の他のシステムで「再起動」するのに役立つ小さなオペレーティングシステムです。 GPTスキームが機能するために、GPT定義はMBRに存在します。
/boot/grub または /boot/syslinux が削除されたか作成されなかった場合、これらの *.img オペレーティング・システムは手動操作を実行するように求められます。設置に十分な時間を投資すれば、いつか見ることができるでしょう。 GRUB>この時点で助けを与えようとしています。私が理解するのに役立つ方法は、このブートローダOSが対応するメニューまたはプロンプトを生成し、grub / syslinuxを特定のターゲットOSに再起動するように指定することです。再起動しないと、ブートローダはプロセス1 PID1になります。
私が言うことのいくつかは100%正確ではないかもしれませんが、Linuxユーザーの96.4%は自分が望むことを続けるのに役立つと思います。ブートローダの開発者やバックアップ、複製、圧縮ディスクイメージなどのソフトウェアタスクを実行している人には、より正確な詳細が必要です。検索すると、最初の小さなディスクユニットの問題とダイナミクス、そしてそれが存在するために存在する必要があるすべてのものについて1時間の講義を見つけることができます。私たちのシステムは、このような非常に敏感な情報のために困難を抱えています。それは迷路の地図のようです。そうでなければミノタウロスの軽食だけです。