[Linux] 外付けUSBハードディスクをまるごとxfsでフォーマットする方法
環境
この記事の内容は、Ubuntu Linux 6.10で確認しました。
手順
手順は、以下の通りです。
- dmesgでデバイスファイルを調べる。
- fdiskでパーティションを作成する。
- xfsでフォーマットする。
dmesgでデバイスファイルを調べる。
外付けUSBハードディスクをコンピュータに接続し、電源をいれます。それから、dmesgコマンドを実行します。
$ dmesg [17179569.184000] Linux version 2.6.17-11-generic (root@terranova) (gcc version 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)) #2 SMP Thu Feb 1 19:52:28 UTC 2007 (Ubuntu 2.6.17-11.35-generic) (略) [17181925.040000] usb 4-5: new high speed USB device using ehci_hcd and address 2 [17181925.176000] usb 4-5: configuration #1 chosen from 1 choice [17182013.236000] usbcore: registered new driver libusual [17182013.384000] Initializing USB Mass Storage driver... [17182013.388000] scsi0 : SCSI emulation for USB Mass Storage devices [17182013.388000] usb-storage: device found at 2 [17182013.388000] usb-storage: waiting for device to settle before scanning [17182013.388000] usbcore: registered new driver usb-storage [17182013.388000] USB Mass Storage support registered. [17182018.388000] usb-storage: device scan complete [17182018.424000] Vendor: WDC WD32 Model: 00JB-00KFA0 Rev: 08.0 [17182018.424000] Type: Direct-Access ANSI SCSI revision: 00 [17182022.968000] SCSI device sda: 625142447 512-byte hdwr sectors (320073 MB) [17182022.972000] sda: Write Protect is off [17182022.972000] sda: Mode Sense: 03 00 00 00 [17182022.972000] sda: assuming drive cache: write through [17182022.976000] SCSI device sda: 625142447 512-byte hdwr sectors (320073 MB) [17182022.976000] sda: Write Protect is off [17182022.976000] sda: Mode Sense: 03 00 00 00 [17182022.976000] sda: assuming drive cache: write through [17182022.976000] sda: unknown partition table [17182022.992000] sd 0:0:0:0: Attached scsi disk sda [17182030.336000] sd 0:0:0:0: Attached scsi generic sg0 type 0
デバイスファイルは/dev/sdaであることが分かりました。
fdiskでパーティションを作成する。
sudo fdiskして、パーティションを作成します。
$ sudo fdisk /dev/sda デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも 含んでいません 新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。 このディスクのシリンダ数は 38913 に設定されています。 間違いではないのですが、1024 を超えているため、以下の場合 に問題を生じうる事を確認しましょう: 1) ブート時に実行するソフトウェア (例. バージョンが古い LILO) 2) 別の OS のブートやパーティション作成ソフト (例. DOS FDISK, OS/2 FDISK) 警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって 正常になります コマンド (m でヘルプ): m コマンドの動作 a ブート可能フラグをつける b bsd ディスクラベルを編集する c dos 互換フラグをつける d 領域を削除する l 既知の領域タイプをリスト表示する m このメニューを表示する n 新たに領域を作成する o 新たに空の DOS 領域テーブルを作成する p 領域テーブルを表示する q 変更を保存せずに終了する s 空の Sun ディスクラベルを作成する t 領域のシステム ID を変更する u 表示/項目ユニットを変更する v 領域テーブルを照合する w テーブルをディスクに書き込み、終了する x 特別な機能 (エキスパート専用) コマンド (m でヘルプ): n コマンドアクション e 拡張 p 基本領域 (1-4) p 領域番号 (1-4): 1 最初 シリンダ (1-38913, default 1): Using default value 1 終点 シリンダ または +サイズ または +サイズM または +サイズK (1-38913, default 38913): Using default value 38913 コマンド (m でヘルプ): w 領域テーブルは交換されました! ioctl() を呼び出して領域テーブルを再読込みします。 カーネルはまだ古いテーブルを使っています。 新しいテーブルは次回リブート時に使えるようになるでしょう。 ディスクを同期させます。
xfsでフォーマットする。
mkfs.xfsコマンドでフォーマットします。
$ sudo mkfs.xfs /dev/sda1 meta-data=/dev/sda1 isize=256 agcount=16, agsize=4883885 blks = sectsz=512 attr=0 data = bsize=4096 blocks=78142160, imaxpct=25 = sunit=0 swidth=0 blks, unwritten=1 naming =version 2 bsize=4096 log =internal log bsize=4096 blocks=32768, version=1 = sectsz=512 sunit=0 blks realtime =none extsz=65536 blocks=0, rtextents=0