工作室のページ
![]()
![]()
![]()
![]()
自宅PC3号機 VISTAのトリプルブートにアップデートの苦労話
2007.5.20 自宅のPC(3号機)に Vistaをインストール。 ME, XP, Vista の3-multiBoot システムとした。
そのときの苦労を後日のために残したメモです。
![]()
MEMO
| 2007.5.20 S.Emori |
| Vista, XP ME のマルチブートについて (ブートローダーの設定法) |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 〜〜〜 WindowsのOSをマルチブートにするときの注意点メモ 〜〜〜 |
| 1. Windowsの Bootの仕組み |
| ・ BIOSにより 指示されたドライブにある先頭512バイトのセクタ(MBR Master Boot Record)にある情報が |
| メモリに読み込まれ 起動する。 |
| ・ MBRは Microsoft OS(DOS, Windows)では |
| - BOOTプロログラム(コード) |
| - ドライブのPartitionのエントリー情報 先頭セクタの一情報、種類、起動フラッグが |
| 4個分記載されている。(各16バイト) |
| - おまじないの特殊コード (0xAA55) |
| ・ マルチブートでは |
| - このMBRの 起動プログラムが決めて。 |
| ・ MBR上の起動プログラム |
| - Win 9x系 |
| - Win NT(2K)系 loader= ntldr |
| 9x系を含む 場合は ntldr.exe からジャンプする構造。 |
| - Vista loader= bootmgr |
| NT系(+ 9x系)へのジャンプは bootmgr から ntldr が指示される。 |
| 9x系を含む 場合は ntldr.exe からジャンプする構造。 |
| ・ OSを(各異なるPartitionに)インストールすると MBRの起動プログラムがオーバーライトされるので |
| マルチブートが効かなくなる場合がある。 古いOSの後に より新しいOSをインストールすると |
| この問題はない。 古いOSを インストールし直すとマルチブートは壊れる。 |
| ・ OS CDから 新規インストールすると そのOS上では そのOSのドライブが C: になる。 マルチのOS上で |
| 殿OSからも特定OSのドライブ名を一致させるのは 古いOSで 空のドライブをついくり 古いOSから起動 |
| OSインストールを起動する必要がある。 |
| ・MBRの起動プログラム(コード)の書き換え(修復)。 |
| 最新のOSが何であるかで異なる。 |
| - Win 9x系 |
| <DOSをboot(FDからロード)し> |
| FDISK.exe /MBRを実行。 |
| - Win NT系(XPまで) |
| <CDで NTシステムをBOOTし> |
| 回復コンソールで fixmbr を実行する。 |
| <Vista上で> |
| アドミニ権限で コマンドプロンプトを立ち上げ |
| bootsect.exe /nt52 c: (or ALL) を実行。 |
| note) c: は Vistaから見える MBRがあるドライブ名。 |
| nt52は NT系を起動する(nkldrを起動プログラムにする)ようにするコマンド。 |
| - Vista |
| <NT(XP)上の コマンドププロンプトで> |
| bootsect.exe /nt60 c: (or ALL) を実行。 |
| note) nt60は NT系を起動する(bootmgrを起動プログラムにする)ようにするコマンド。 |
| ・マルチOSの選択与野 指示file |
| - NT系 c:\ boot.ini |
| 最新OSがNT系のときは TXT editor で update可能。 |
| - Vista |
| 記録fileは 不明? |
| 書き換えeditえrは bcdedit.exe. 少しややこしい。(下記参照) |
| 2. MBR書き換えと 起動順を選択するfileのupdate方法。 |
| (Step-1) |
| MBRの作成の方法 |
| C: Active partition ==> Win ME |
| D: XP |
| E: Vista の例。 |
| ・C:のみ Win)x系で起動したければ |
| DOS で FDISK /mbr |
| ・マルチbootのMBRは以下 |
| 1)Bootsect.exe を C:にcopyしておく |
| 2)homeはどこからでもOK。コマンドプロンプト画面で Active Partitionの MBRにある |
| Boot Program (コード)を指定する。 |
| a) /nt60 ==> Vista 用起動program = bootmgr.exe を起動 |
| 起動選択情報は BCDboot.ini 場所不明(c:\boot\bootstat.datか?)にあり |
| そのeditorは BCDedit.exe |
| b) /nt52 ==> Win2k系用の起動program = ntldrを起動 |
| 起動選択情報は c:\boot.ini にあり そのeditorは txt editor。 |
| 3)手順 |
| a)すべてのpartitionの MBRを NT系に。 |
| Bootsect.exe /nt52 ALL |
| ---- 結果 responce ---- |
| Target volumes will be updated with NTLDR compatible bootcode. |
| C: (\\?\Volume{ad8a9b66-0332-11dc-99cd-806d6172696f}) |
| Updated FAT32 filesystem bootcode. The update may be unreliable since the |
| volume could not be locked during the update: |
| D: (\\?\Volume{3f814a57-059a-11dc-885f-806d6172696f}) |
| Updated NTFS filesystem bootcode. The update may be unreliable since the |
| volume could not be locked during the update: |
| E: (\\?\Volume{13285a2e-05b3-11dc-9d5e-000c6e0cb073}) |
| Updated NTFS filesystem bootcode. The update may be unreliable since the |
| volume could not be locked during the update: |
| Bootcode was successfully updated on all targeted volumes. |
| --------------------------------------------------- |
| a)C:のpartition MBRを Vista系に。 |
| Bootsect.exe /nt60 c: |
| Target volumes will be updated with BOOTMGR compatible bootcode. |
| C: (\\?\Volume{ad8a9b66-0332-11dc-99cd-806d6172696f}) |
| Updated FAT32 filesystem bootcode. The update may be unreliable since the |
| volume could not be locked during the update: |
| Bootcode was successfully updated on all targeted volumes. |
| ======================================================================================== |
| (Step-2) |
| ・Vista bootmgr用の 起動ドライブ選択メニューのedit方法。 |
| ・BCDedit.exeを C:にcopyしておく |
| ・XP or Vistaのコマンドプロンプトで変更可。 |
| (Vistaではコマンドプロンプト起動は右クリックしadmini権限で) |
| c:\bcdedit /create |
| c:\bcdedit /set {ntldr} device partition=C: |
| c:\bcdedit /set {ntldr} description "WindowsXP,MEはこちら" の形 |
| /? でhelp画面。 |
| 1) bcdedit /enum の例 (結果表示) |
| c:\bcdedit /enum |
| Windows Boot Manager |
| -------------------- |
| identifier {bootmgr} |
| device partition=C: |
| description Windows Boot Manager |
| locale ja-JP |
| inherit {globalsettings} |
| default {ntldr} |
| displayorder {ntldr} |
| {4b57ec72-05d4-11dc-a14b-99083dd1c21e} |
| toolsdisplayorder {memdiag} |
| timeout 5 |
| Windows Legacy OS Loader |
| ------------------------ |
| identifier {ntldr} |
| device partition=C: |
| path \ntldr |
| description WindowsXP,MEはこちら |
| Windows Boot Loader |
| ------------------- |
| identifier {4b57ec72-05d4-11dc-a14b-99083dd1c21e} |
| device partition=E: |
| path \Windows\system32\winload.exe |
| description Microsoft Windows Vista |
| locale ja-JP |
| inherit {bootloadersettings} |
| osdevice partition=E: |
| systemroot \Windows |
| resumeobject {4b57ec73-05d4-11dc-a14b-99083dd1c21e} |
| nx OptIn |
| 以上 |