Hatena::ブログ(Diary)

深山亭暇人の日常 このページをアンテナに追加 RSSフィード

2010-03-22

外付けHDDの交換

久々にやったら忘れてる・・・。

外付けHDDの場合、NTFSで既にフォーマットされている上、へんなパーティションが切られている。

これをext3に変更しなければならない。

まずは領域の確保からはじめることにしよう。

# fdisk /dev/sdf1

このディスクのシリンダ数は 91184 に設定されています。

間違いではないのですが、1024 を超えているため、以下の場合

に問題を生じうる事を確認しましょう:

1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)

2) 別の OS のブートやパーティション作成ソフト

(例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ): p ←現状の確認

Disk /dev/sdf1: 750.0 GB, 750021787648 bytes

255 heads, 63 sectors/track, 91184 cylinders

Units = シリンダ数 of 16065 * 512 = 8225280 bytes

This doesn't look like a partition table

Probably you selected the wrong device.

デバイス Boot Start End Blocks Id System

/dev/sdf1p2 ? 45382 79243 271987362 74 不明

Partition 2 does not end on cylinder boundary.

/dev/sdf1p3 ? 10499 10499 0 65 Novell Netware 386

Partition 3 does not end on cylinder boundary.

/dev/sdf1p4 167628 167631 25817+ 0 空

Partition 4 does not end on cylinder boundary.

領域テーブル項目がディスクの順序と一致しません

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

コマンドの動作

a ブート可能フラグをつける

b bsd ディスクラベルを編集する

c dos 互換フラグをつける

d 領域を削除する

l 既知の領域タイプをリスト表示する

m このメニューを表示する

n 新たに領域を作成する

o 新たに空の DOS 領域テーブルを作成する

p 領域テーブルを表示する

q 変更を保存せずに終了する

s 空の Sun ディスクラベルを作成する

t 領域のシステム ID を変更する

u 表示/項目ユニットを変更する

v 領域テーブルを照合する

w テーブルをディスクに書き込み、終了する

x 特別な機能 (エキスパート専用)

コマンド (m でヘルプ): d ←1個消した後だと空になるようです

領域番号 (1-4): 1

警告: 領域 1 は空のタイプです。

コマンド (m でヘルプ): d ←パーティション2を消す

領域番号 (1-4): 2

コマンド (m でヘルプ): d ←パーティション3を消す

領域番号 (1-4): 3

コマンド (m でヘルプ): d ←パーティション4を消す

Selected partition 4

コマンド (m でヘルプ): p ←もう一度確認


Disk /dev/sdf1: 750.0 GB, 750021787648 bytes

255 heads, 63 sectors/track, 91184 cylinders

Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System

コマンド (m でヘルプ): n ←新しく1個つくる

コマンドアクション

e 拡張

p 基本領域 (1-4)

p

領域番号 (1-4): 1 ←でも本当は領域を切る必要は無かったかも

最初 シリンダ (1-91184, default 1): 1

終点 シリンダ または +サイズ または +サイズM または +サイズK (1-91184, default 91184): 91184

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

Selected partition 1

16進数コード (L コマンドでコードリスト表示): L ←念のため83であることを確認


0 空 1e Hidden W95 FAT1 80 古い Minix bf Solaris

1 FAT12 24 NEC DOS 81 Minix / 古い c1 DRDOS/sec (FAT-

2 XENIX root 39 Plan 9 82 Linux swap / So c4 DRDOS/sec (FAT-

3 XENIX usr 3c PartitionMagic 83 Linux c6 DRDOS/sec (FAT-

4 FAT16 <32M 40 Venix 80286 84 OS/2 隠し C: c7 Syrinx

5 拡張領域 41 PPC PReP Boot 85 Linux 拡張領 da 非 FS デー

6 FAT16 42 SFS 86 NTFS ボリュ db CP/M / CTOS / .

7 HPFS/NTFS 4d QNX4.x 87 NTFS ボリュ de Dell ユーテ

8 AIX 4e QNX4.x 2nd part 88 Linux plaintext df BootIt

9 AIX ブート 4f QNX4.x 3rd part 8e Linux LVM e1 DOS access

a OS/2 ブート 50 OnTrack DM 93 Amoeba e3 DOS R/O

b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor

c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS eb BeOS fs

e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad ee EFI GPT

f W95 Ext'd (LBA) 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/

10 OPUS 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC

11 隠し FAT12 56 Golden Bow a7 NeXTSTEP f1 SpeedStor

12 Compaq 診断 5c Priam Edisk a8 Darwin UFS f4 SpeedStor

14 隠し FAT16 <3 61 SpeedStor a9 NetBSD f2 DOS セカン

16 隠し FAT16 63 GNU HURD また ab Darwin boot fb VMware VMFS

17 隠し HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE

18 AST SmartSleep 65 Novell Netware b8 BSDI スワッ fd Linux raid 自

1b Hidden W95 FAT3 70 DiskSecure Mult bb 隠し Boot Wiz fe LANstep

1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT

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

Selected partition 1

16進数コード (L コマンドでコードリスト表示): 83 ←これでLinuxシステムになった


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

Disk /dev/sdf1: 750.0 GB, 750021787648 bytes

255 heads, 63 sectors/track, 91184 cylinders

Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System

/dev/sdf1p1 1 91184 732435448+ 83 Linux ←確かに


コマンド (m でヘルプ): w ←保存して終了

領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。

警告: 領域テーブルの再読込みがエラー 22 で失敗しました: 無効な引数です。

カーネルはまだ古いテーブルを使っています。

新しいテーブルは次回リブート時に使えるようになるでしょう。

ディスクを同期させます。


なんかようわからん。

たまに、これでうまく行かないときがある。

次は、ext3でフォーマットする。

# mkfs.ext3 /dev/sdf1

あるいは

# mke2fs.ext2 -j /dev/sdf1

とされているが、後者は上手くいかなかった。


次は、mountできるかどうか試してみる。

# mount /dev/sdf1 /mnt/raid9 ←sdf1をraid9としてマウントする

ファイルシステムを指定しろと怒られるはず。

# mount /dev/sdf1 /mnt/raid9 -ext3

これでOK。

一応確認しておく。

# df -h