2006/08/22(火)NTローダーの起動メニューを編集する

PC::Tips

ブートパーティションのboot.iniを編集することで起動メニューを拡張できます。

スイッチオプション

起動スイッチ意味
/3GB3GBのメモリにアクセスできるようにする*1
/BASEVIDEOVGAモードで起動
/BAUDRATE=xxxデバッグポートのボーレートを指定(xxxbps)
/CRASHDEBUGWinNT/2kがクラッシュした場合にCOMポートをデバッグに利用できるようにする
/DEBUGカーネルデバッガを有効に
/DEBUGPORT=comxデバッグポートとして利用するCOMポートを指定する(COM:x)
/HAL=ファイル名起動時に読み込まれるハードウェアアブストラクションレイヤーを指定
/KERNEL=ファイル名起動時に読み込まれるカーネルを指定
/MAXMEM=xxxWinNT/2kで検出可能なメモリサイズを指定(xxxMB)
/NODEBUGカーネルデバッガを無効に
/NOSERIALMICE:comxCOM:xポートのマウスチェックを無効
/NOLOWMEMシステム全体が4GB以降の領域にロードされる(2k Advanced Server以上)
/NUMPROC=起動時に動作するCPUの数を指定
/PAE2k Advanced Serverで8GB, Datacenter Serverで32GBのメモリサポートを有効にする
/PCILOCKHALによるPCIバスのリソース移動を無効に(BIOSの指定値が利用される)
/SOSローダーがロードしたリソース名を表示
/ONECPUCOMPAQ社のHAL用。起動時に1つのCPUだけを利用する
/WIN95bootsec.dosが読み込まれる
/WIN95DOSbootsec.w40が読み込まれる
/SAFEBOOT:MINIMALセーフモード
/SAFEBOOT:NETWORKセーフモードとネットワーク
/SAFEBOOT:MINIMAL(ALTERNATESHELL)セーフモードとコマンドプロンプト
/BOOTLOGブートのログ作成を有効
/SAFEBOOT:DSREPAIRディレクトリサービス復元モード (ドメインコントローラのみ)

*1 : 通常は2GB

で、以下のように変更してみました

boot.ini

[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(4)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(4)\WINNT="Microsoft Windows 2000 Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(4)\WINNT="Microsoft Windows 2000 Professional セーフモード" /SAFEBOOT:MINIMAL
multi(0)disk(0)rdisk(0)partition(4)\WINNT="Microsoft Windows 2000 Professional セーフモード(ネットワーク有効)" /SAFEBOOT:NETWORK
multi(0)disk(0)rdisk(0)partition(4)\WINNT="Microsoft Windows 2000 Professional セーフモードとコマンドプロンプト" /SAFEBOOT:MINIMAL(ALTERNATESHELL)
C:\ = "Microsoft Windows Millennium Edition"

これでセーフモードで起動したいときにF8を押す必要がなくなりました。

参考

2006/08/22(火)90PCIでASIO4ALL

PC::Tips

ONKYO WAVIO SoundEngine 90PCIでASIO4ALLを使用するのに色々手こずったのでそのときのメモ。

用意するもの

  • 90PCIのドライバ*1
  • ASIO4ALL Ver2.6*2
  • プレイヤーのASIOプラグイン

*1 : ONKYOのWebサイトではXP向けのものしかありませんので、2kや9xを利用している場合はVIAから落としましょう

*2 : 2.7系はどういう訳か私の環境で動かなかったので

Audio Deckの設定

S/PDIF Control

  • S/PDIF Out Enableのチェックを外す
  • PCM Onlyにチェック

Play Back

  • S/PDIFのチェックを外す
  • Sampling RateをAutoに

ASIO4ALLの設定

デフォルトままで大丈夫です。

ASIOプラグインの設定

私が使用しているプレイヤーはWinAMPですのでASIO output (dll version) v0.63 SSEの設定についてです。

ASIO output (dll version)の設定

  • デバイス: ASIO4ALL v2
  • スレッド優先度: Time critical
  • バッファサイズ: 63
  • 出力チャンネルをずらす: 0

これで大丈夫なはずです。サウンドカードの入れ替えなどを行った場合でASIO4ALLが過去に導入されている場合で使用できない場合、一度アンインストールした上でASIO4ALLを再導入してみて下さい。
私はここではまりました。

おまけ:Audio Deckの常駐を外す

設定を頻繁に変えない場合、Audio Deckの常駐を外してしまいましょう。
レジストリのHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runから
キー「EnvyHFCPL」を削除します。

2006/08/20(日)WinMeで利用するメモリを制限する

PC::Tips

WinNT系と9x系をデュアルブート環境で使用している場合、搭載しているメモリが512MBを超える場合があります。
そのような環境でWinMeなどを起動すると極端に不安定になることがありますが、これを回避するためにWinMeで利用するメモリを制限する方法があります。
大容量のメモリを搭載していてWinMeで運用していて不安定な場合は試してみる価値があります。

手順

  1. ファイル名を指定して実行: msconfig
  2. 全般タブ - 詳細設定を開く
  3. メモリを制限する - 511MB以下に
  4. 再起動

2006/08/19(土)拡張パーティションの拡張

PC::Tips

Windowsのお引っ越しでシステム自体は引っ越すことができましたが、パーティションテーブルは旧HDDのままです。
これまでのパーティションテーブルでは使い勝手がよろしくないため、大容量HDD向けにパーティションテーブルを変更します。

旧HDDのパーティションテーブル
[album:PC:120hdd.jpg:large]

hda1 FAT32 2GB
hda2 LBA 18GB
hda5 NTFS 8GB
hda6 NTFS 5GB

手順

  1. KNOPPIXで起動
  2. 以下のコマンドを入力
    knoppix@~$su -
    root@~#parted /dev/hda (パーティションテーブルを変更したいHDDを指定)
    (parted)print (パーティションテーブルの確認)
    Minor	Start		End		Type		Filesystem	Flag
    1	0.031		2048.000	primary		FAT32		boot
    2	2048.000	20480.000	extended			lba
    5	2048.000	10240.000	logical		NTFS
    6	10240.000	15360.000	logical		NTFS
    (parted)resize 2 2048.000 32720.000*1
    

これでパーティションテーブルが変更され、拡張パーティションが拡張されているはずです
Windowsにログインし、確認すると以下のように拡張パーティションが拡張されていることがわかります。
[album:PC:20hdd.jpg:large]

hda1 FAT32 2GB
hda2 LBA 30GB
hda5 NTFS 8GB
hda6 NTFS 5GB

*1 : resizeは"resize Minor Start End"でパーティション番号、開始点、終了点をそれぞれ指定する。尚、開始点などの単位はMBで指定。

参考にしたところ

2006/08/18(金)Windowsのお引っ越し

PC::Tips

HDD2基で運用(20GB+46GB)していましたが、46GBの方のHDDがやかましいため、120GBのHDDにシステムを入れ替え、HDD1基で運用することにします。
#最近システムが不安定な原因が電源不足であることを疑っているため、消費電力を減らす目的もあります

その際に問題になるのが現在の環境を維持したまま新しいHDDにどのように環境を移すかという点です。
Windowsを新規にインストールし、その新しいWindowsに古いドライブの全てのファイルを上書きコピーするという方法が一般的にとられているようですが、今回は過去に検討した方法であるddによるコピーをまず試してみることにしました。

HDDのミラーリング

旧ドライブの内容全てを新ドライブに移すことが目的です。

手順

  1. 旧HDD:Primary/Master, 新ドライブ:Primary:Slaveとして接続
  2. KNOPPIXで起動
  3. コンソールを立ち上げ以下のように入力
    knoppix@~#su -
    root@~$dd if=/dev/hda of=/dev/hdb bs=10M*1
    
  4. ゲームでもしながら数時間待つ
  5. 作業が終了したら旧HDDを外し、新HDDをPrimary/Masterとする

これでHDDの中身がWindowsごと新HDDに引っ越すことができました。

*1 : ここでhda:旧ドライブ、hdb:新ドライブです。これを間違えると切ないこと(ローレベルフォーマットされたHDDが2つできる)になります

最後に

ddによるHDDのミラーリングを行った場合、心配なのがHDDの容量、型番などが異なる場合、シリンダ数なども異なる為、MBRに記録されているパーティション情報が狂ってしまうのではないかという懸念がありましたが、問題なく利用できるようです。
この方法を用いるメリットとして

  • FAT32フォーマットだろうがNTFSフォーマットだろうが、ext3フォーマットだろうが、全てのHDDのパーティション情報、データを全て新しいHDDに移動することができます
  • KNOPPIXなどの多くのLinuxディストリビューションにはddを持っており、高価なドライブツールを購入する必要がない

が挙げられます。一方、デメリットとしては

  • Linuxに関してのそれなりの知識が必要*2
  • パーティションを拡張したりすることができない
    NTFSはできませんが、partedで拡張できます

が挙げられます。

今回の方法ではddなどの危険なコマンドを使用しますので、ddの使用方法を良く理解した上で利用するようにして下さい。
また、この記事によりデータを飛ばしてしまった場合でも責任は取れません。自己責任でお願いします。

*2 : 特にddコマンドでifとofで指定するデバイスファイルを間違えてしまうとそれだけで大惨事になります