24 May 2010

HP s5350 その2 : リカバリ作業と、妙なパーティション

前回の記事 『 HP s5350 その1 : 本体写真とBIOS画面 』 からの続き。HP Pavilion Desktop PC s5350jp/CT の初期設定関連の記事です。

■ リカバリDVDの作成
この製品にはリカバリDVDは付属していない(3150円で追加購入となる)。プリインストールのWindows 7にリカバリDVD作成ソフトが入っていて、1回だけ(1セットだけ)リカバリDVDが作成できるようになっている。

20100524-s5350-recovery01.png
リカバリ マネージャのリカバリ ディスク作成プログラムを起動した

DVD-RまたはDVD+Rが2枚必要。1枚目を入れると、自動的にリカバリDVDの作成が始まる。

20100524-s5350-recovery02.png
リカバリDVD作成中

30分ほどで作成が終了する。

■ HDDを交換し、リカバリを実行する
他のマシンで利用していた500GBytesのハードディスク(Seagate 7200.11)に交換する。このハードディスクにはWindowsやLinux、データなどのパーティションがすでに作成されている。果たして、既存パーティションは保存されるのか、それともディスク全体が消去されてしまうのか…

リカバリDVDをドライブにセットしてリブートする。Windows REが起動し、HPのツールが立ち上がる。その中から、『システム復元』を選択するとリカバリが始まる。

どのパーティションに復元するかや、現在のブートローダを保存するかなど、一切選択肢は表示されない

20100524-s5350-recovery03.jpg
システム復元 の開始画面

「工場出荷時の状態に復元する」と明確に表示されている。


20100524-s5350-recovery04.jpg
システム復元中の進行表示

2枚のDVDを用いて、30分程度で復元が完了し、再起動を促される。
再起動後、パーティションの状態を見てみると… 見事に既存パーティションは全て削除され、工場出荷時の「SYSTEM、Windows 7、リカバリの3つのパーティション」状態に戻っている。

■ HDDのパーティション (シリンダ境界と一致していない)
工場出荷状態では、各パーティションがシリンダ境界と一致しない、中途半端なセクタで区切られている。

20100524-s5350-gparted.png
LinuxのGPartedでのパーティション表示

Linuxのfdiskでは警告メッセージが表示される。


ubuntu@ubuntu:~$ sudo fdisk /dev/sda

警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
強く推奨します。 and change display units to
sectors (command 'u').

コマンド (m でヘルプ): p ← シリンダ単位で表示

ディスク /dev/sda: 250.1 GB, 250059350016 バイト
ヘッド 255, セクタ 63, シリンダ 30401
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x1549f232

デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 13 102400 7 HPFS/NTFS
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2 13 29429 236279808 7 HPFS/NTFS
/dev/sda3 29429 30402 7814144 7 HPFS/NTFS

コマンド (m でヘルプ): u
セクタ数 の表示/項目ユニットを変更します

コマンド (m でヘルプ): p ← セクタ単位で表示

ディスク /dev/sda: 250.1 GB, 250059350016 バイト
ヘッド 255, セクタ 63, シリンダ 30401, 合計 488397168 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x1549f232

デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2 206848 472766463 236279808 7 HPFS/NTFS
/dev/sda3 472766464 488394751 7814144 7 HPFS/NTFS

■ パーティションを調整後の参考例

LinuxのGPartedでパーティション境界やサイズを調整後の状況を、参考までに掲載しておく。


root@s5350-ubuntu:~# fdisk /dev/sda

警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
強く推奨します。 and change display units to
sectors (command 'u').

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

ディスク /dev/sda: 500.1 GB, 500107862016 バイト
ヘッド 255, セクタ 63, シリンダ 60801
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0xca4a89de

デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 131 1052226 7 HPFS/NTFS
/dev/sda2 132 4047 31455270 7 HPFS/NTFS

~中略~

コマンド (m でヘルプ): u
セクタ数 の表示/項目ユニットを変更します

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

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

デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 63 2104514 1052226 7 HPFS/NTFS
/dev/sda2 2104515 65015054 31455270 7 HPFS/NTFS
/dev/sda3 65015055 127925594 31455270 7 HPFS/NTFS

~中略~

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

■ よく考えてみれば、新しい 4kBytesセクタ の規格だった…
1セクタを従来の512bytesではなく、4096bytesとした新しい規格にそってパーティションを確保する場合は、4096/512 = 8から分かるように、パーティション境界は8で割れる数でないと、アクセスが遅くなる。
だから、/dev/sda1の開始セクタが2048が新しい規格では正しいのであって、63は8で割りきれないから、アクセス時にオーバーヘッドが起こって効率が落ちるという結論になる。

でも、現在、4096bytesの物理フォーマットをやってるのは、WesternDigitalの一部のHDDだけで、OSも完全にこれには対応できてないらしいので、まあ、古い規格でフォーマットしておいても問題ないでしょう…

詳しくは
2TBを超えろ! ATAディスクの4Kセクタ問題とは?(@IT)
ATA 4 KiB sector issues(ata.wiki.kernel.org)
などを参照…
この中では、
* Fedora-13/RHEL6 installer uses libparted with 4KiB support
と書かれているので、今後出るOSではサポートされますよ、という程度のものなのだろう。
ちなみに、WindowsではVista以降が(一応)4096bytesの物理セクタに対応しているらしいが、実はMFTのアクセスの対応が忘れられているらしく、速度低下病があると2ちゃんねる掲示板では祭りになっているようだ。

話題休閑

次の記事 『 HP s5350 その3 : Windows XPとUbuntuのインストール 』 に続く。