通常電気量販店などからHDDを購入するとFAT32やNTFSでフォーマットされています。これはUbuntu/Debianと相性が悪い。なのでext3にフォーマットしておきます。これだったらコピーしてもパーミッションとオーナーが綺麗にそのままコピーされます。逆にext3フォーマットのHDDはWindowsやMacで認識されるか?というときちんと認識されマウントされるので心配ご無用。
ext3フォーマットの準備
マシンにフォーマットをかけたい外付けHDDをマウントします。Ubuntuでは/media/以下に自動的にマウントされます。またデスクトップを使用している場合は自動的にアイコンが出てきます。drwx------ 9 user user 32768 1970-01-01 09:00 HD-HBU2目的のHDDがHD-HBU2として認識されているのがわかると思います。しかし通常の作業ではこのパスから作業できるのですが、実体は/dev以下のディバイスファイル内にあります。この実体のファイルからのシンボリックリンクとして/media/以下にマウントされる...という形式をとっています。ですので、本物のパスは、fdiskコマンドで確かめます。(このコマンドは本来、パーテーションを作るコマンドです。)
lrwxrwxrwx 1 root root 6 2009-06-24 23:31 cdrom -> cdrom0
drwxr-xr-x 2 root root 4096 2009-06-24 23:31 cdrom0
drwxr-xr-x 6 root root 4096 2009-12-02 06:36 disk
# fdisk -luマウントされているDiskが表示されます。
ディスク /dev/sda: 250.1 GB, 250059350016 バイト ←これがシステムのHDDこのような表示になるので該当のDISKを探します。フォーマットし直すディスクはFAT32となっているのですぐにわかります。/dev/sddがHDDの実体です。
ヘッド 255, セクタ 63, シリンダ 30401
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0xffffffff
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 30028 241199878+ 83 Linux
/dev/sda2 30029 30401 2996122+ 5 拡張領域
/dev/sda5 30029 30401 2996091 82 Linux スワップ / Solaris
ディスク /dev/sdb: 120.1 GB, 120060444672 バイト ←これがBackUp用のHDD
ヘッド 255, セクタ 63, シリンダ 14596
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0xdc51853a
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 14596 117242338+ 83 Linux
ディスク /dev/sdd: 300.1 GB, 300090728448 バイト ←これがext3フォーマットするHDD
ヘッド 255, セクタ 63, シリンダ 36483
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x338c853f
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdd1 1 36483 293049666 c W95 FAT32 (LBA)
/dev/sddと/dev/sdd1の関係はいわゆるパーテーションです。Linuxではシリンダというのかもしれません。要するにHDDをいくつかに区切って使うというやり方です。特に必要のない場合はパーテーションがいらないので、/dev/sddに1つのシリンダがある(パーテーションがない)ということになるので、sddに対してsdd1が1つだ存在することになります。用途によってパーテーションを設定するとsdd2というように領域を別途確保できます。ここでは面倒なので特にパーテーションは区切りません。
先の/media/HD-HBU2の正体は、sddなのか、sdd1なのかというと以下のコマンドで確かめられます。
# df -m /dev/sddマウント位置が表示されている方が実体ということになるので/dev/sdd1 => /media/HD-HBU2というわけです。フォーマットの対象はHDD全体なのでsddを対象にします。
ファイルシステム 1M-ブロック 使用 使用可 使用% マウント位置
udev 497 1 497 1% /dev
# df -m /dev/sdd1
ファイルシステム 1M-ブロック 使用 使用可 使用% マウント位置
/dev/sdd1 286112 248 285864 1% /media/HD-HBU2
実際にフォーマットをかける前にマウントされている/dev/sdd1をアンマウントしておきます。
パーテーションを仕切り直す
前述の通りパーテーションを仕切り直すのではなくパーテーションを無くして1つのHDDにするというのが正しい表現です。fdiskコマンドで/dev/sddに入ります。1. fdiskコマンドで対象ディバイスに入る
# fdisk /dev/sddという状態になってfdiskコマンドにログインしたような形になります。(この意味不明なメッセージは歴史的な経緯があって今も尚残っていますが意味がないので無視してください。)
このディスクのシリンダ数は 36483 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)
コマンド (m でヘルプ):
2. 現状を確認する
ディスクの現在の状況を確認しておきます。続けてpを入力します。
...※ちなみにこの状態だとパーテーション削除も何もないんですが、一応例としてfdiskで操作します。
コマンド (m でヘルプ):p
ディスク /dev/sdd: 300.1 GB, 300090728448 バイト
ヘッド 255, セクタ 63, シリンダ 36483
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x338c853f
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdd1 1 36483 293049666 c W95 FAT32 (LBA)
3. パーテンションを削除する
続けてパーテーションを削除します。dを入力します。
...Linuxのマシンではパーテーションを4つまでしか設定できません。(実際は4つのうちの1つをまた4つに区切ることができるのでほぼ無数にパーテーションを設定できます。)ここではパーテーションを削除したので選択した領域は1となります。
コマンド (m でヘルプ):p
選択した領域 1
4. 新規でパーテーションを作成する
続けてnを入力して新しくパーテーションを作ります。
コマンド (m でヘルプ): nとなりますので、基本領域を選ぶためにpを入力します。
コマンドアクション
e 拡張
p 基本領域 (1-4)
p基本領域に1を選びます。
領域番号 (1-4):
領域番号 (1-4): 1シリンダー領域を訊かれるので最初の値1を入力します。
最初 シリンダ (1-36483, 初期値 1):
最初 シリンダ (1-36483, 初期値 1): 1続けてシリンダーの最終値を訊かれるので、最大の値(ここでは36483)を入力します。
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-36483, 初期値 36483):36483
5. 設定の確認
最後にpコマンドを入力して設定が反映されているかどうかを確認します。
コマンド (m でヘルプ): psdd1の領域とsddの領域が同じ(つまりパーテーションがない)状態になっているのでこれで大丈夫です。
ディスク /dev/sdd: 300.1 GB, 300090728448 バイト
ヘッド 255, セクタ 63, シリンダ 36483
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x338c853f
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdd1 1 36483 293049666 83 Linux
6. ディスクに書き込む
最後にこれまでの設定を反映させるためにディスクに書き込みます。wを入力します。
コマンド (m でヘルプ): wこれでパーテーションの初期化は完了です。
領域テーブルは交換されました!
ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。
ext3にフォーマットする
# mkfs.ext3 /dev/sdd1HDDの容量にもよりますが、やや時間がかかります。完了したらきちんとフォーマットされたか確認してみます。
# fdisk /dev/sdd ←fdiskコマンドで対象のデバイス選択システムがLinuxになっていればOKです。
このディスクのシリンダ数は 36483 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)
コマンド (m でヘルプ): p ←pで現状確認
ディスク /dev/sdd: 300.1 GB, 300090728448 バイト
ヘッド 255, セクタ 63, シリンダ 36483
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x338c853f
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdd1 1 36483 293049666 83 Linux ←ext3
Ubuntuでは、GUIからもWindowsOSのようにフォーマットが可能です。デスクトップに現れたアイコンを右クリックしてからメニュー内の「フォーマット」から可能です。
またデフォルトではUSB接続のHDDのマウントポジションがその都度変化します。これは複数のデバイスを抜き差しすると固定したポジションでは効率がよくないからです。つけっぱなしの外付けHDDの場合は再起動の度にマウントポジションは固定したままの方がいいので、マウントポジションの固定をした方がいいですよ。


