
でコメントヨハンはこう書いています。
GPTディスク+レガシーBIOSブートの珍しい組み合わせでは、ブートコードはMBRから旧式の方法で読み取られます。
PC に上記のようなまれな組み合わせがあるかどうかを判断する適切な方法は何ですか? このような状態についてディスクを調べるには、どの Windows コマンドや Linux コマンドを使用すればよいですか?
答え1
PC に Linux がインストールされている場合は、ディレクトリが/sys/firmware/efi
存在するかどうかを確認できます。ディレクトリが存在する場合、コンピューターには EFI ファームウェアがあり、BIOS 互換モードではありません。ディレクトリが見つからない場合、マシンはレガシー BIOS を使用して起動します。
パーティション スキームは を使用して確認できますfdisk
。fdisk
p
コマンド (「パーティション テーブルを印刷」) でディスク ラベル タイプとして「msdos」が報告された場合、ディスクには旧式の MBR パーティション テーブルがあります。ディスク ラベル タイプが「gpt」の場合、GPT ディスクがあります。
答え2
これがまれな状況なのかどうかはわかりませんが、古いマシンで大容量ディスクを使用するための合理的な方法の 1 つです。または、システム ファームウェアにバグがあり、たとえばソフトウェア RAID セットアップを起動するときに 2 番目のディスクに適切にフォールバックしない場合などです。
まず、マシンがEFIで起動されていないことを確認します。「UEFI を使用して起動しているかどうかを確認するにはどうすればよいでしょうか?" チェックする。
Linuxの場合:
Linuxでは、実行するといくつかのインジケーターが表示されます。gdisk -l /dev/DISK
- パーティション テーブルは GPT です (「保護された MBR を持つ有効な GPT が見つかりました。GPT を使用しています。」)
- BIOS ブート パーティション (コード EF02 としてリストされています) があります。これは、GRUB の大部分が存在する場所です (従来の MBR ではブート セクターと最初のパーティションの間にあるセクターを置き換えます)。
私のディスクの 1 つからの例:
# gdisk -l /dev/sdd
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sdd: 5860533168 sectors, 2.7 TiB
Model: ST3000VN000-1HJ1
Sector size (logical/physical): 512/4096 bytes
Disk identifier (GUID): 3F3F7901-A38A-42FF-A7BA-8FBD1C35FB11
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 5860533134
Partitions will be aligned on 8-sector boundaries
Total free space is 5582 sectors (2.7 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 259024 125.5 MiB 8300 Linux filesystem
2 260096 517135 125.5 MiB 0700 Microsoft basic data
3 518144 1953524128 931.3 GiB 8300 Linux filesystem
4 1953525760 3907033263 931.5 GiB 8300 Linux filesystem
5 3907035136 5860533134 931.5 GiB 8300 Linux filesystem
128 34 2047 1007.0 KiB EF02 BIOS boot partition
Windowsの場合:
これは VM 用にすばやく設定した別のディスクであることに注意してください。
diskpart
ディスクが GPT を使用している場合、コマンドを実行すると GPT 列にがlist disk
表示されます。*
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 40 GB 0 B
Disk 1 Online 20 GB 0 B *
残念ながら、list partition
( を使用してディスクを選択した後select disk 1
) 2 つのパーティションが「不明」として表示されます。
DISKPART> list partition
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Unknown 4096 KB 17 KB
Partition 2 Unknown 19 GB 5120 KB
しかし、詳細を記述すると( の後にselect partition 1
)、型 GUID が得られます。
DISKPART> detail partition
Partition 1
Type : 21686148-6449-6e6f-744e-656564454649
Hidden : Yes
Required: No
Attrib : 0000000000000000
Offset in Bytes: 17408
は21686148-6449-6e6f-744e-656564454649
BIOS ブート パーティションを意味します。(0fc63daf-8483-4772-8e79-3d69d8477de4
ちなみに、 は汎用の Linux パーティションです)。
あるいは、ディスクの管理でディスクを選択し、プロパティを選択してボリューム タブを確認します。これにより、「パーティション スタイル」が MBR か GPT かがわかります。残念ながら、ディスクの管理からパーティション タイプを取得する方法はないようです。