web-dev-qa-db-ja.com

有効なパーティションテーブルがない場合の影響は何ですか?

最近、Ubuntuを11.10(Oneiric)から12.04(Precise Pangolinにアップグレードしました。 ))Dell Inspiron B1ラップトップ。 fdisk -lを実行すると、HDに有効なパーティションテーブルが含まれていないと表示されます。私はこれが悪いと信じるように導く適切な分割についてたくさん読んでいますが、奇妙な振る舞いや問題には気づいていません。有効なパーティションテーブルがない場合の影響は何ですか?

4
John Aten

パーティションテーブルのないブロックデバイス上にファイルシステムを直接配置することは可能であり、本質的に問題はありません。これは、ファイルシステムを1つだけ持つことができ、他には何も持たないことを意味します(スワップパーティションなどはありません)。ただし、そのようなブロックデバイスが起動可能である可能性は低いです。ブートローダー(grub)は通常、ディスクがパーティションに分割されたときに生じる空き領域に潜入します。それがないと、ブートローダーを配置する場所はありません。

そうです、 psusi のコメントによると、ツールは「間違っている」必要があります。

考えられるのは、ディスクにGPTパーティションテーブルがあり、PCのレガシーパーティションテーブルがないことです。 fdiskはPCのレガシーパーティションテーブルのみをサポートしているため、見つからないと報告されている可能性があります。 GPTパーティションには、下位互換性のために有効なダミーのfdiskパーティションテーブルが含まれているはずなので、これは発生しないはずですが、可能だと思います。これを確認するには、partedまたはgdiskを使用するか、/proc/partitionsを調べてカーネルにパーティションが何であるかを尋ねます。

もう1つの可能性は、fdiskが何らかの理由でディスクを読み取れないことです(権限がありますか?rootですか?)。

4
Celada

これは本当に良いことでも悪いことでもありません。 「有効なパーティションテーブルが含まれていません」というエラーは、必ずしも実際にそれを意味するわけではありません。認識されないオフセットに有効なパーティションテーブルがあり、同じエラーが発生する可能性があります。

例えば:

  • 最初にパーティションを作成せずにrawディスクにLVMボリュームを作成してから、そのボリュームにファイルシステムを配置すると、このエラーが発生します。
  • 「整列された」ストレージを作成しようとして、最初のセクターを8で割り切れるように変更した場合、このエラー、またはより一般的には境界エラーが発生します。

ディスクアラインメントを実現するために、最初のセクターを4096(8で割り切れる)から開始し、この時点からパーティション1を作成するいくつかのマシンを実行します。

または

最初にパーティションを作成せずにLVMを作成して、デフォルトのオフセットからではなく、ディスクの先頭から開始するようにします。

例:

デフォルトでは、_fdisk -lu_を使用してディスクを見ると、ほとんどのディスクはセクター63から始まります。

_Disk /dev/sdb: 21.4 GB, 21475885056 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41945088 sectors
Units = sectors of 1 * 512 = 512 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63    37752749    18876343+  8e  Linux LVM
/dev/sdb2        37752750    41752934     2000092+  8e  Linux LVM
_

-開始セクターを変更するときに境界エラーを受け取る

_Disk /dev/sda: 98.7 GB, 98784247808 bytes
255 heads, 63 sectors/track, 12009 cylinders, total 192937984 sectors
Units = sectors of 1 * 512 = 512 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *         128      204799      102336   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2          204800    78329807    39062504   82  Linux swap / Solaris
/dev/sda3        78329808   192937983    57304088   83  Linux
_

-最初にパーティションを作成せずにドライブにLVMを追加すると、パーティションテーブルエラーが発生するため、パーティションテーブルがありません

_Disk /dev/dm-5: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x00000000

Disk /dev/dm-5 doesn't contain a valid partition table
_

->このパーティションは_/usr_であり、マウントされています/dev/dm-5 on /usr type xfs (rw)->完全にアクセス可能

_ll /usr
total 272
drwxr-xr-x   5 root root    38 Jan  3 11:10 X11R6
drwxr-xr-x   2 root root 57344 May  9 16:25 bin
..........
_

_fdisk -lu_からの出力を質問に追加します。カスタム変更を行う必要があると述べていないため、_/dev/sda1_からではなく、メインドライブ以外でこのエラーが発生している可能性があります。システムを起動します。

これはあなたの特定の詳細を見ずにすべての仮定です。

編集:私が言ったことの多くは セラダの答え (より簡潔ではるかに読みやすい方法で)に含まれていました: })。うまくいけば、私の「説明」が混乱を助長していません。

3
2bc