USBハードドライブエンクロージャのハードドライブにパーティションをインストールできません

USBハードドライブエンクロージャのハードドライブにパーティションをインストールできません

Linux CentosゲストとESXI 5で実行されているWindowsゲストの大容量データを、USBエンクロージャに取り付けられた1TBハードドライブにバックアップしました。 USBシェルはESXI 5ハイパーバイザーを介してゲストに直接接続されます。
データのコピーが完了したら、USBディスクを正しく切断し、サーバーを再フォーマットした後、Centosディストリビューションで実行されているKVMハイパーバイザーにアップグレードしました。
その後、Linux Centosゲストを作成し、KVMハイパーバイザーを介してUSBディスクを直接接続しました。 Linuxパーティションのデータをゲストにコピーするのに問題はありません。コピー後、ディスクの接続が正しく切断されました。

しばらくして、LSI RAIDコントローラを搭載したIBM x3200 M3サーバーに同じディスクをそのまま挿入し、元のLinuxバックアップからいくつかのデータを取得しました。ディスクはRAIDなしで単一のデバイスで構成されています。
IBM で実行されている Centos Linux はディスクを正しく表示できます。
fdiskは2つのパーティションを正しく表示します。

 fdisk -l /dev/sda

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x7ca397d5

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63   128005919    64002928+   7  HPFS/NTFS/exFAT
/dev/sda2       128006144   244190645    58092251   83  Linux

gdiskも同様です。

gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.10

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present


***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.
***************************************************************

Disk /dev/sda: 1953525168 sectors, 931.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 8AE1EC87-71EF-4340-8D94-E0EFC30FB4E4
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1953525134
Partitions will be aligned on 8-sector boundaries
Total free space is 1709334742 sectors (815.1 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1              63       128005919   61.0 GiB    0700  Microsoft basic data
   2       128006144       244190645   55.4 GiB    8300  Linux filesystem

それでも2番目のパーティションをマウントできませんでした(ここにはWindowsがないため、最初のパーティションでは試していません)。
エラーメッセージは次のとおりです。

mount /dev/sda2 /mnt/usb/
mount: /dev/sda2 is write-protected, mounting read-only
mount: wrong fs type, bad option, bad superblock on /dev/sda2,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

-o ro オプションを使用して読み取り専用マウントを試みても、結果は変更されません。

fsckを試してみると、次の結果が表示されます。

[root@localhost ~]# fsck -N /dev/sda2
fsck from util-linux 2.23.2
[/sbin/fsck.ext2 (1) -- /dev/sda2] fsck.ext2 /dev/sda2

[root@localhost ~]# fsck.ext4 -n /dev/sda2
e2fsck 1.42.9 (28-Dec-2013)
ext2fs_open2: Bad magic number in super-block
fsck.ext4: Superblock invalid, trying backup blocks...
fsck.ext4: Bad magic number in super-block while trying to open /dev/sda2

The superblock could not be read or does not describe a correct ext2
filesystem.  If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>

ベストアンサー1

これはおそらくほとんど重複するでしょう。これは別の質問です。何が起こっているのかを理解するには、私の答えを読んでください。これは、ほぼ物理セクタサイズが512であると報告しているディスクで同様の問題が発生すると疑われないためです。

したがって、RAIDコントローラが現在の値を歪めている可能性があり、ESXIが一部の変換を実行するのと同じように、USBエンクロージャが干渉する可能性があります。わかりません。

とにかく、512対4096くらいだと思います。この場合、4096バイトセクタで計算するときにオフセット(開始セクタ)が有効であることを確認する必要があります。

実際のコマンドの実行を開始する前に、最後のパーティションの終了セクタが大きな手がかりであることに注意してください。ディスクは512バイトの論理セクタ1953525168を報告しますが、セクタが4096バイトの場合、0から244190645までの番号付き244190646(つまり、8倍少ない)セクタがあります。 244190645はまさに最後のパーティションパーティションの終了セクタであるため、このパーティションテーブルのエントリは4096バイトセクタで有効になる可能性があります。

この試み:

mount -o ro,offset=$((128006144*4096)) /dev/sda /some/mountpoint

ro場合に。

おすすめ記事