LinuxでGPT専用パーティションテーブルを構築するには?

LinuxでGPT専用パーティションテーブルを構築するには?

これまでに試みたすべてのツールは、最初の4つのGPTパーティションが互換性のあるMBRパーティションにミラーリングされているデュアル(GPTおよびMBR)パーティションテーブルのみを作成できます。

これは私が望むものではありません。私は純粋なGPTパーティションテーブルが欲しい。つまり、ディスクにMBRテーブルがないため、2つの間に同期はありません。

これは可能ですか?

答え1

編集の問題を解決するには:

これまでの質問の編集内容を確認できませんでした。今書いている今、この質問は私が最初に答えた時とは全く異なります。これあなたが説明するものいいえ実はスペック上ではかなり危険で醜いハッキングなのでこう呼ばれています。ハイブリッドMBRパーティション形式。この質問はたくさん今ははるかに意味があります。そして実際にはまったく愚かではありません。

GPTディスクとGPTディスクの主な違い混合膜バイオリアクターディスクはGPTであり、MBRで説明されています。フルディスク単一のMBRパーティションで、一方混合膜バイオリアクターヘッジを試みる(とても醜い)互換性の理由から、最初の4つのパーティションが含まれる領域のみを説明します。この状況の問題はハイブリッドMBR互換性のための試み最初からGPT保護MBRの目的を完全に無効にします。

下記のように、保護MBRしなければならない保護する愚かなアプリケーションのGPTディスクですが、一部のディスクがそのアプリケーションに割り当てられていないように見える場合、すべての賭けはキャンセルされます。役に立つ場合は、ハイブリッドMBRを使用しないでください。- Macの場合、これは次のことを意味します。Bootcampデフォルト設定を使用しないでください

一般的に、EFI/GPT関連の問題に関するアドバイスを求める場合どこでも(若干のバイパスを除くここまず)しかしRodsbooks.com


エヘム...

これ(以前)ちょっと愚かな質問です。 GPTディスクなしでGPTディスクをパーティション分割する方法を尋ねているようです。保護MBR。この質問に対する答えはできません。 GPT はディスクパーティションテーブル形式の標準であり、標準であるためです。指定するディスクヘッドに位置する保護MBR。願いより?

ここに画像の説明を入力してください。

あなたができることはMBRを消去または上書きすることです。最大GPT対応アプリケーションはとにかくパーティションデータにアクセスできませんが、理由防止するために仕様に含まれています。いいえ- パーティションテーブルとの競合を防ぐためのGPT認識アプリケーション。これは、ディスク全体がすでに単一のMBRタイプのパーティションであることを報告するだけでこれを防ぎ、すでにスペースが割り当てられているため、誰もディスクにファイルシステムを書き込もうとしないでください。 MBRを削除すると、この保護は削除されます。

とにかく方法は次のとおりです。

  • これにより4Gが生成されます。./imgNULでいっぱいのファイル...

    </dev/zero >./img \
    dd ibs=4k obs=4kx1k count=1kx1k
    

    1048576+0 records in
    1024+0 records out
    4294967296 bytes (4.3 GB) copied, 3.38218 s, 1.3 GB/s
    
  • これにより、パーティション化されたテーブルが作成されます。保護MBR

    • の各printfパラメータの後にはewlineが続き、標準入力\nに書き込まれます。gdisk
    • gdiskこれらのコマンドをインタラクティブに入力したかのように解釈し、それに応じてアクションを実行します。GUIDパーティションテーブルそれは私たちの頭に記録されています./img文書。
    • すべての端子出力は次にダンプされます。>/dev/null (とても多いので、結果を見てみましょう。)

      printf %s\\n o y n 1 '' +750M ef00 \
                       n 2 '' '' '' ''   \
                   w y | >/dev/null      \
      gdisk ./img      
      
  • その結果、最初の2Kにpr伴うオフセットは4列形式で表されます。strings./img

    <./img dd count=4 |
    strings -1 -td    | 
    pr -w100   -t4
    

    4+0 records in
    4+0 records out
    2048 bytes (2.0 kB) copied, 7.1933e-05 s, 28.5 MB/s
    

        451 *           1033 K           1094 t           1212 n
        510 U           1037 >           1096 e           1214 u
        512 EFI PART    1039 ;@fY        1098 m           1216 x
        524 \           1044 30          1153 =           1218
        529 P           1047 L           1158 rG          1220 f
        531 (           1050 E           1161 y=i         1222 i
        552 "           1065 w           1165 G}          1224 l
        568 V           1080 E           1170 $U.b        1226 e
        573 G           1082 F           1175 N           1228 s
        575 G           1084 I           1178 C           1230 y
        577 y           1086             1180 b           1232 s
        583 G           1088 S           1185 x           1234 t
        602 Ml          1090 y           1208 L           1236 e
       1024 (s*         1092 s           1210 i           1238 m
    

MBRがどこで終わるのかわかりますか?バイト 512.

  • 最初の512バイトに512個のスペースを書き込みます。./img

    <>./img >&0 printf %0512s
    

それでは、私たちの労働の成果を見てみましょう。

  • gdiskこれは対話型実行です。./img

    gdisk ./img
    

    GPT fdisk (gdisk) version 1.0.0
    
    Partition table scan:
      MBR: not present
      BSD: not present
      APM: not present
      GPT: present
    
    Found valid GPT with corrupt MBR; using GPT and will write new
    protective MBR on save.
    

    Command (? for help): p
    

    Disk ./img: 8388608 sectors, 4.0 GiB
    Logical sector size: 512 bytes
    Disk identifier (GUID): 0528394A-9A2C-423B-9FDE-592CB74B17B3
    Partition table holds up to 128 entries
    First usable sector is 34, last usable sector is 8388574
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 2014 sectors (1007.0 KiB)
    
    Number  Start (sector)    End (sector)  Size       Code  Name
       1            2048         1538047   750.0 MiB   EF00  EFI System
       2         1538048         8388574   3.3 GiB     8300  Linux filesystem
    

答え2

状況に応じて、常に2TB以上のパーティションを作成する必要があります。使用する必要があります別れた注文する。

パーティションコマンドを生成する前に、ディスクラベルをGPTに設定する必要があります。 GPTは、GUIDパーティションテーブル形式(GPT)を表します。以下のように parted の mklabel コマンドを使用して、ディスクラベルを GPT に設定します。

# parted /dev/sdb
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) print
Error: /dev/sdb: unrecognised disk label

(parted) mklabel gpt

(parted) print
Model: Unknown (unknown)
Disk /dev/sdb: 5909GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

2TB以上のパーティションを作成するには、Parted mkpartを使用してください。

2TBを超えるパーティションを作成するには、以下のようにpartedのmkpartコマンドを使用します。この例では、約6TBのサイズのパーティションを作成します。

#parted /dev/sdb

(parted) mkpart primary 0GB 5909GB

(parted) print
Model: Unknown (unknown)
Disk /dev/sdb: 5909GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  5909GB  5909GB               primary

関連情報