[HOME] > PC-UNIX Tips > 内蔵IDEハードディスク交換
Created: 1999.10.17
Modified: 2001.05.26
PC-UNIX Tips
思い立って、内蔵のIDEディスクを交換したので、その報告をします。 はっきり言って、かなり苦労しましたが、その分勉強になりました:-) ご参考までに。
日本橋のSOFMAPで、MELCO社製のIDEディスク[DBI-3200]を購入しました。 現在の内蔵ディスク容量が500MBなので、かなり使い手がありそうです。 価格は、1万円3千円ちょっとでした。初めてIDEディスクを購入しましたが、 結構リーズナブルな価格ですね。
ただ、お店の人にも言われましたが、FMV-499D3ではBIOSの制限で3,200MBytes のディスクを認識しないかもしれないとの警告を頂きました:-) ですが、せっかち な私は「もし、認識せえへんでも、富士通のホームページにBIOSぐらいあるやろ」 と気にせず購入しちまいました。(おいおい)
結局、FMV-499D3のBIOSできちんと認識することができました。ちゃんと OSでも認識されています。つまりは、BIOSの制限はなく、設定さえ変更すれ ばいいだけのようです。
これにはBIOS設定が下記の項目が"Enabled"になっている必要があり ますので、確認してください。これは今回のように大容量のハードディスク にアクセスできるようにするためのものです。
因みに、BIOSバージョンは起動時に"2.0"と表示されます。ただ、BIOS設定 画面などで確認すると、2,000MBytesぐらいと表示されます。うーん。
あと、InfoSeek などで、"FMV-499D3"で検索すると、参考になる文献がありました。
私のマシンは、LinuxとWindowsNTをマルチブート環境で利用しています。 今回、一番苦労したのは、ディスクパーティション変更に伴う、WindwosNTの 移行です。まず、ディスクパーティションの移行内容を示します。
Device | 旧ディスク(500MB) | 新ディスク(3.0GB) | ||
---|---|---|---|---|
/dev/hda1 | 300MB | linux:swap | 500MB | linux:/(ext2) |
/dev/hda2 | 50MB | linux:/(ext2) | 100MB | linux:swap |
/dev/hda3 | 150MB | NT:system disk(FAT16) | 150MB | NT:system disk(FAT16) |
/dev/hda4 | none | none | 2,300MB | linux:/work(ext2) |
*1: サイズはおおざっぱです。
注意: MBRやブートセクタなど、システムの重要なデータを変更しますので、 必ずバックアップを取ってください。
本体を開けて、5inchベイのCD-ROM装置を取り外します。これは、 IDE用の電源コードに余りがないため、CD-ROM装置の電源ケーブルを 新IDEディスクに利用するためです。FMV-499D3に、セカンダリIDE ディスクを増設する場合は、CD-ROM装置を取り外さないと、増設 できません。
新IDEディスクのジャンパスイッチをスレーブ設定にし、IDEケーブル と電源ケーブルを接続します。
Linuxを起動します。ただ、この時linuxカーネルがCD-ROM装置を 自動認識(?)しようとして、約15分ぐらい起動にかかります。
linuxのfdiskコマンドにて、新IDEディスクにパーティションを
作成します。IDEディスクのスレーブなので、デバイス名は
/dev/hdb
となります。また、/dev/hdb3をアクティブ
パーティションとして設定します。
# fdisk /dev/hdb
Using /dev/hdb as default device!
Command (m for help): p
Disk /dev/hdb: 128 heads, 63 sectors, 782 cylinders
Units = cylinders of 8064 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/hdb1 1 1 127 512032+ 83 Linux native
/dev/hdb2 128 128 152 100800 82 Linux swap
/dev/hdb3 * 153 153 178 104832 6 DOS 16-bit >=32M
/dev/hdb4 179 179 782 2435328 83 Linux native
Command (m for help):
/dev/hda1, /dev/hda4
をmkfs
にて、
ext2ファイルシステムとしてフォーマットします。
# mkfs -t ext2 /dev/hda1
...
# mkfs -t ext2 /dev/hda4
...
/パーティションである/dev/hdb1に、/dev/hda2からtarにて データを移行。本当はSingleUserモードでやるのがええんでしょうが ...
# mount /dev/hdb1 /mnt
# cd /
# tar cvf - . | (cd /mnt; tar xvf - )
...
WindowsNTのシステムディスク(ブートパーティション)のデータを フロッピーディスクに退避します。退避したファイルは以下の通りです。
後で、旧IDEディスクを取り外し、新IDEディスクをマスタIDE ディスクとしてlinuxを起動するので、フロッピーからLinuxを 起動するように、起動用フロッピーを作成します。これは、Linux のカーネルブートセクタを利用する方法です。
「UNIX MAGAXINE 1998.12 Linuxでリラックス(P.100)」が非常に 参考になります。
# dd if=/vmlinuz of=/dev/fd0
# rdev /dev/fd0 /dev/hda1
新IDEディスクに移行した/etc/fstabを新しいパーティション構成 (/dev/hdb)に合わせて変更します。尚、後で新IDEディスクをマスタIDE にするので、デバイス名を/dev/hdaとして記述する必要があります。
### EDI DISKS
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 swap swap defaults 1 1
/dev/hda4 /work ext2 defaults 1 1
### Others
/dev/cdrom /cdrom iso9660 ro 1 1
none /proc proc defaults 1 1
DOSフロッピーでDOSを起動します。
DOSのformatコマンドで、C:をフォーマットします。
ここが今回一番悩んだのですが、新IDEディスクのCドライブ(/dev/hda3) にWindowsNTのNTLDRを起動するように、パーティション(Cドライブ)の 先頭512バイトに、WindowsNTのブートセクタを書き込む必要があります。 今回は、 BOOTPART 2.20を利用して、WindowsNTブートセクタを作成(修復) しました。BOOTPARTは、この他Windows95,DOSのブートセクタを作成 するなど便利な機能があります。
WindowsNTの起動については以下に詳しい解説がありますので、参考 にしてください。
A:> BOOTPART WINNT BOOT:C:
予めフロッピーに退避しておいた、/dev/hda3のWindowsNTのシステム パーティションのファイル群を、C:にコピーします。念のため、バイナリ ファイルとしてコピーします。
C:> COPY /B A:\*.* .
システムを停止し、マスタIDEディスクとして接続されていた旧IDEディスク を取り外します。代わりに、新IDEディスクのジャンパスイッチをマスタ に変更します。また、CD-ROM装置を元通りに接続し直します。
予め作成しておいたLinux起動用フロッピーにて、Linuxを起動します。
本システムでは、MBRにLILOを利用しています。LILOにより、Linuxと WindowsNTのマルチブート環境を実現しています。
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
boot = /dev/hda
#compact # faster, but won't work on all systems.
delay = 50
vga = normal # force sane state
ramdisk = 0 # paranoia setting
force-backup=/boot/boot.300
# End LILO global section
# Linux bootable partition config begins
image = /vmlinuz
root = /dev/hda1
label = linux
read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
# DOS bootable partition config begins
other = /dev/hda3
label = win
table = /dev/hda
# DOS bootable partition config ends
liloコマンドにより/dev/hda(マスタIDEなのでデバイス名が変更されている) にMBRを書き込みます。
# lilo -v
...
今回は、WindowsNTのブートセクタを作成する方法がなかなか見つからず、 時間がかかりました。でも、Webで検索すると簡単に見つかりました。インター ネットのボランティア精神は偉大やなあ。
PC-UNIX Tips
Written by kabada