USB-HDDをFAT32でフォーマット

なぜかWindowsXPでドライブとして認識されなくなったUSB-HDDがある。
USBデバイスとしては認識されているのだが、ドライブとして見えないので、WindowsXPでのフォーマットのしかたがわからない。
そのため、ubuntuでフォーマットし直す。

ubuntu$ sudo blkid
/dev/sda1: UUID="caf83f04-262e-403a-bdef-66dddf6d3449" TYPE="ext4"
/dev/sda5: UUID="c3ef3b55-8639-4d68-beea-0353e2ebe299" TYPE="swap"
/dev/sdb: UUID="4EA5-6CF7" TYPE="vfat"

/dev/sdbで認識されているが、パーティションがない。
ためしに、マウントしてみると、普通に読める。

ubuntu$ sudo mount -t vfat -o rw,iocharset=utf8,codepage=932 /dev/sdb /mnt/usb
ubuntu$ ls /mnt/usb
dir1  dir2

必要なファイルのコピーをrsync -aで他のUSB-HDDに取ったのち、アンマウントする。

ubuntu$ sudo rsync -a /mnt/usb/ /mnt/usb2/backup/
ubuntu$ sudo umount /mnt/usb

fat32パーティションを作る

ubuntu$ sudo fdisk /dev/sdb

コマンド (m でヘルプ): p

Disk /dev/sdb: 500.1コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本パーティション (1-4)
p
パーティション番号 (1-4, 初期値 1):
初期値 1 を使います
最初 セクタ (2048-976773167, 初期値 2048):
初期値 2048 を使います
Last セクタ, +セクタ数 or +size{K,M,G} (2048-976773167, 初期値 976773167):
初期値 976773167 を使います

コマンド (m でヘルプ): p

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
ヘッド 255, セクタ 63, シリンダ 60801, 合計 976773168 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0xb9b627d1

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            2048   976773167   488385560   83  Linux

コマンド (m でヘルプ): t
選択したパーティション 1
16進数コード (L コマンドでコードリスト表示): L

 024  NEC DOS         81  Minix / 古い Li bf  Solaris
 1  FAT12           27  Hidden NTFS Win 82  Linux スワップ  c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隠し C: ド c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 拡張領域  c7  Syrinx
 5  拡張領域        41  PPC PReP Boot   86  NTFS ボリューム da  非 FS データ
 6  FAT16           42  SFS             87  NTFS ボリューム db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux プレーン  de  Dell ユーティリ
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt
 9  AIX ブート可能  4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access
 a  OS/2 ブートマネ 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad ハ eb  BeOS fs
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT
 f  W95 拡張領域 (L 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC
11  隠し FAT12      56  Golden Bow      a8  Darwin UFS      f1  SpeedStor
12  Compaq 診断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor
14  隠し FAT16 <32M 61  SpeedStor       ab  Darwin ブート   f2  DOS セカンダリ
16  隠し FAT16      63  GNU HURD または af  HFS / HFS+      fb  VMware VMFS
17  隠し HPFS/NTFS  64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  65  Novell Netware  b8  BSDI スワップ   fd  Linux raid 自動
1b  隠し W95 FAT32  70  DiskSecure Mult bb  隠し Boot Wizar fe  LANstep
1c  隠し W95 FAT32  75  PC/IX           be  Solaris ブート  ff  BBT
1e  隠し W95 FAT16  80  古い Minix
16進数コード (L コマンドでコードリスト表示): c

コマンド (m でヘルプ): p

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
ヘッド 255, セクタ 63, シリンダ 60801, 合計 976773168 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0xb9b627d1

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            2048   976773167   488385560    c  W95 FAT32 (LBA)
コマンド (m でヘルプ): w
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。

警告: DOS 6.x パーティションを作成、または変更してしまった場合は、
fdisk マニュアルの追加情報ページを参照してください。
ディスクを同期しています。
ubuntu$ sudo fdisk -l
Disk /dev/sda: 160.0 GB, 160041885696 bytes
ヘッド 255, セクタ 63, シリンダ 19457, 合計 312581808 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x00011811

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1   *        2048   304193535   152095744   83  Linux
/dev/sda2       304195582   312580095     4192257    5  拡張領域
/dev/sda5       304195584   312580095     4192256   82  Linux スワップ / Solaris

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
ヘッド 81, セクタ 63, シリンダ 191411, 合計 976773168 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0xb9b627d1

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdb1            2048   976773167   488385560    c  W95 FAT32 (LBA)

ボリュームラベルをhd1としてfat32でフォーマットする

ubuntu$ sudo mkfs.vfat -v -n hd1 -F 32 /dev/sdb1
mkfs.vfat 3.0.9 (31 Jan 2010)
/dev/sdb1 has 255 heads and 63 sectors per track,
logical sector size is 512,
using 0xf8 media descriptor, with 976771120 sectors;
file system has 2 32-bit FATs and 32 sectors per cluster.
FAT size is 238368 sectors, and provides 30509198 clusters.
There are 32 reserved sectors.
Volume ID is 9d4a8b69, volume label hd1       .