外部USBにefiディスクをマウント

外部USBにefiディスクをマウント

最近、ラップトップの既存のSSHDを交換するために新しいSSHDを購入しましたが、問題が発生しました。新しいコンピュータにUbuntu 15.10をインストールし、以前のものを持っていたUSBボックスに入れましたが、USBにあるディスクがパーティション化されていませんでした(データを失うことができず、5分間悲鳴を上げました)。

それで、古いディスクを再びディスクベイに移し、新しいディスクをUSBケースに入れました。すべてのデータはそのまま残りましたが、USBのディスクにはパーティションが表示されませんでした。

USBケースの両方のディスクはモデルと工場情報を正しく表示しますが、パーティションは表示されません。状態は良好で、GPT / EFIパーティションを持たない古いハードドライブでテストしました。

ファイルを転送できるように外部ディスクをどのようにマウントしますか?

コマンド出力:

 $ sudo blkid /dev/sdb 
 /dev/sdb: PTTYPE="PMBR"


 $ sudo parted /dev/sdb print 
 Error: /dev/sdb: unrecognised disk label
 Model: ST1000LM 014-1EJ164 (scsi)                                     
 Disk /dev/sdb: 1000GB Sector size (logical/physical): 4096B/4096B
 Partition Table: unknown Disk Flags:

$ sudo gdisk /dev/sdb 
GPT fdisk (gdisk) version 1.0.0

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

答え1

失われたパーティションを回復するには、インターネットを検索してみてください。製品はhttp://findandmount.com/。マスターブートレコードでパーティションが失われても、ファイルシステムを見つけることができると言います。使用していた製品が思います。http://www.ultimatebootcd.com/同じことをしてください。ただ何の製品だったのか覚えていませんね。

答え2

このコマンドを試してください。

sudo apt-get install exfat-fuse exfat-utils

答え3

この部分に注意してください:

Sector size (logical/physical): 4096B/4096B

ディスクは4KiBブロックを使用できます。私の考えでは、ラップトップのUSBエンクロージャと内部SATAコントローラがそれを処理するために異なる戦略を使用しているようです。 1つは既存の512バイトブロックに変換する戦略、もう1つは基本的に新しいブロックサイズを使用できる戦略です。

ディスクがノートブックのディスクベイにある場合、次のような結果が出ると推測されます。

Sector size (logical/physical): 512B/4096B

GPTパーティショニング方式の場合、これは問題になります。 GPT仕様は、パーティションテーブルがブロック#1で始まる必要があることを示しています。ブロック#0は「保護MBR」用に予約されています。これにより、古いシステムがMBRスタイルのパーティションのみを理解していても、使用中のディスクのみを認識できます。

ただし、エミュレートされた512バイトブロックにディスクを分割してからネイティブモードに切り替えると(たとえば、内部コントローラから4KiB対応USBにディスクを移動する)、512バイトブロック#1は4秒になります。 8番目。 KiBブロック#0。

これとは別に、最初にディスクを分割するときにデフォルトの4KiBブロックを使用してから512バイトのブロックエミュレーションに切り替えた場合、GPTパーティションテーブルはブロック#8で始まります。

残念ながら、パーティションを分割せずに状況を解決する唯一の方法は、パーティションを再分割せずに特別に設計された古い外部USB HDDアダプタを見つけることです。できない4KiBブロックを使用しているため、ノートブックの内部SATAコントローラと同様に、ディスクに組み込まれた512バイトのセクタエミュレーションをトリガします。

Linuxカーネルバージョン4.14以降を使用してください(またはこのパッチはバックポートされました。)、論理ブロックサイズを切り替えることができます。まだlosetupバージョンがある場合今回のパッチ、ディスクを既存のUSBアダプタに接続し、次のように言うことができます。

losetup -P -b 512 /dev/loop0 /dev/sdb

さまざまな論理ブロックサイズを使用/dev/sdbしてアクセスできます。パーティションは、Nがパーティション番号/dev/loop0で表されます。または、ディストリビューションがまだこのスキームをサポートしていない場合は、このオプションを省略してdevice-mapper-multipathパッケージのツールを使用できます。/dev/loop0pN-Pkpartx

kpartx -a /dev/loop0

...というループデバイスの各パーティションのマップを自動的に作成します/dev/mapper/loop0pN

その後、他のデバイス名を使用して、通常どおりにこれらのパーティションデバイスをマウントできます。

パーティションデバイスをアンマウントした後、この設定を元に戻すプロセスは次のとおりです。

kpartx -d /dev/loop0    # only if the use of kpartx was needed
losetup -d /dev/loop0 

関連情報