Windows11で読み書き不可のUSBメモリをLinux上でフォーマット
October 28, 2023 – 3:21 pmWindows11で フォーマットできなくなっていたUSBメモリ をLinux上でフォーマットすることができたので顛末をメモしておいた。
Linux(AlmaLinux9)にUSBを差し込んでlsub コマンドで確認:
$ lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 018: ID 056e:6015 Elecom Co., Ltd MF-MSU3 Bus 001 Device 003: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode) Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
USBメモリ自体は認識されていることを確認したので、lsblkでこれがどのようにdeviceに接続されているかを確認:
# lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS sda ├─sda1 vfat FAT32 6B5E-E78C 591.8M 1% /boot/efi ├─sda2 xfs 2ea763d3-92b3-48cd-bc52-fdf11321af4c 720.7M 29% /boot └─sda3 LVM2_member LVM2 001 EJQKvA-F54L-k4hM-GFxu-YF30-GZpH-s99Eb8 ├─almalinux_server02-root xfs bd3938f6-033a-4df6-a89f-d522b375c8a8 62.7G 10% / ├─almalinux_server02-swap swap 1 1ee1771d-b7d1-4585-8974-341375e4651d [SWAP] └─almalinux_server02-home xfs dfbf7035-0a7b-4e7c-abd6-883aeb8341b0 537G 37% /home sdb ext4 1.0 ssd 49d29bb1-ec7b-4af6-9051-6c87cf761743 └─sdb1 ext4 1.0 164903b7-64bc-4a00-9289-c5f2abf5e2d4 64.1G 7% /mnt/ssd sdc
USB は/dev/sdcにあるようだがpartitionされてない状態にある。「コマンドを使ってLinux上でUSBメモリをフォーマットする方法」によると、gdiskでパーティショニングし、フォーマットすることができそう。
そこで、まず、パーティショニングツール gdiskを以下でインストール:
# dnf install gdisk Last metadata expiration check: 2:28:37 ago on Sat Oct 28 08:52:34 2023. Dependencies resolved. ========================================================================================================================================= Package Architecture Version Repository Size ========================================================================================================================================= Installing: gdisk x86_64 1.0.7-5.el9 appstream 242 k Transaction Summary ========================================================================================================================================= Install 1 Package Total download size: 242 k Installed size: 696 k Is this ok [y/N]: y Downloading Packages: gdisk-1.0.7-5.el9.x86_64.rpm 2.1 MB/s | 242 kB 00:00 ----------------------------------------------------------------------------------------------------------------------------------------- Total 260 kB/s | 242 kB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : gdisk-1.0.7-5.el9.x86_64 1/1 Running scriptlet: gdisk-1.0.7-5.el9.x86_64 1/1 Verifying : gdisk-1.0.7-5.el9.x86_64 1/1 Installed: gdisk-1.0.7-5.el9.x86_64 Complete!
USB に対応する device file /dev/sdcを gdiskでpartitioning:
# gdisk /dev/sdc GPT fdisk (gdisk) version 1.0.7 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. Warning! Main partition table overlaps the first partition by 34 blocks! You will need to delete this partition or resize it in another utility. Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): Y Command (? for help): n Partition number (1-128, default 1): First sector (34-30310366, default = 2048) or {+-}size{KMGTP}: Last sector (2048-30310366, default = 30310366) or {+-}size{KMGTP}: Current type is 8300 (Linux filesystem) Hex code or GUID (L to show codes, Enter = 8300): 0700 Changed type of partition to 'Microsoft basic data' Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/sdc. The operation has completed successfully.
/dev/sdc1 をfat32でフォーマット:
# mkfs.vfat -v -c -F 32 -n ELECOM /dev/sdc1 mkfs.fat 4.2 (2021-01-31) /dev/sdc1 has 64 heads and 32 sectors per track, hidden sectors 0x0800; logical sector size is 512, using 0xf8 media descriptor, with 30308288 sectors; drive number 0x80; filesystem has 2 32-bit FATs and 16 sectors per cluster. FAT size is 14800 sectors, and provides 1892416 clusters. There are 32 reserved sectors. Volume ID is 6ef93ba8, volume label TRANSCEND. Searching for bad blocks 81376...
以上でフォーマットしたUSBメモリ をWindows11上に差し込み、空のファイルと認識されていることを確認。