ddで破損したフラッシュドライブをリセットする方法

ddで破損したフラッシュドライブをリセットする方法

私は以前ddDebianをインストールした64GBのフラッシュドライブを持っています。これをやりたいのですが(dd私のコンピュータのDebian全体をフラッシュドライブにインストールします)、以下に説明するようにいくつかの奇妙な問題に取り組んでいます。

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 447.1G  0 disk 
├─sda1   8:1    0   512M  0 part /boot/efi
├─sda2   8:2    0    28G  0 part /
└─sda3   8:3    0  20.5G  0 part /home
sdb      8:16   1  57.7G  0 disk 
├─sdb1   8:17   1   335M  0 part 
└─sdb2   8:18   1   2.8M  0 part

報告されたフラッシュドライブのsdbサイズは、私が知っているよりも小さいです。消えた8GBはどこに行きましたか?dd見つかったようです:

$ sudo dd if=/dev/zero of=/dev/sdb
16238561+0 records in
16238560+0 records out
8314142720 bytes (8.3 GB, 7.7 GiB) copied, 16.2814 s, 511 MB/s

要約すると、フラッシュドライブは/dev/sdb58GB(以前より8GB少ない)に見えますが、2つのパーティションに表示される容量は数百MBに過ぎません。直接書き込みには/dev/sdb8GBしか公開されないようです。

編集する:

dmesgドライブを取り外して再挿入したときの出力:

[ 4952.579464] usb 1-1: USB disconnect, device number 11
[ 4971.326113] usb 1-1: new high-speed USB device number 12 using xhci_hcd
[ 4971.492654] usb 1-1: New USB device found, idVendor=0951, idProduct=1666, bcdDevice= 1.10
[ 4971.492660] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 4971.492663] usb 1-1: Product: DataTraveler 3.0
[ 4971.492666] usb 1-1: Manufacturer: Kingston
[ 4971.492669] usb 1-1: SerialNumber: 1831BFB81BC8B36039AB0126
[ 4971.494616] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 4971.494900] scsi host6: usb-storage 1-1:1.0
[ 4972.507815] scsi 6:0:0:0: Direct-Access     Kingston DataTraveler 3.0 PMAP PQ: 0 ANSI: 6
[ 4972.508438] sd 6:0:0:0: Attached scsi generic sg1 type 0
[ 4972.508714] sd 6:0:0:0: [sdb] 121061376 512-byte logical blocks: (62.0 GB/57.7 GiB)
[ 4972.509130] sd 6:0:0:0: [sdb] Write Protect is off
[ 4972.509134] sd 6:0:0:0: [sdb] Mode Sense: 45 00 00 00
[ 4972.509498] sd 6:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA

編集:明確にすると、ここで最大の問題は58 GBのドライブにアクセスできなくなることです。dd8GBを書き込んだ後に余分なスペースがないと報告します。lsblkデバイスは58GBであると主張しましたが、デバイスは8GBに過ぎないことfdiskに同意しました。dd

答え1

ドライブのすべてのデータ損失が許可されている場合は、次のようにリセットできます。

(1) ドライバがインストールされていないことを確認するか、次の操作を行います。

sudo umount /dev/sdb

of(2)すべての項目を削除します(このフィールドがリセットしたいドライブと正確に一致していることを確認してください!)

sudo dd if=/dev/zero of=/dev/sdb bs=2M count=32

(3) パーティションテーブルで初期化

sudo fdisk /dev/sdb

内部的には、fdiskパーティションタイプ "b"を指定して、すべてを含む新しいパーティション(番号1)を作成します。文字/コマンドを入力してこれを行うことができます(//の後に私の説明が続きます)。

n         // new partition
1         // partition number, if you are asked
<enter>   // Yes, from the first available sector
<enter>   // Yes, to the last one

t         // change the type of partition 1
b         // partition type: Windows 95 FAT32
p         // have a look at what you have done (print)

よかったら - パーティション1個、フルサイズ、"b"入力

w         // write to disk

次に、新しいドライブにファイルシステムを作成します/dev/sdb1

sudo mkfs.vfat /dev/sdb1

これは可能です。ドライブが自動的に取り付けられていない場合は、ドライブを取り外して再度挿入します。

関連情報