お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2009-02-10 23:01:20

masayan
新しいメンバ
登録日: 2009-02-10

【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

こんばんは。Linux初心者です。
すでに解決済みになっている下記トピックの中で、「のんき」さんが推測されている現象と同じと
思われる現象が発生しており、ぜひ皆様のお知恵を拝借したいと思い質問しております。

    [解決]USBメモリを刺さないとUbuntuがブートできない

週末にLiveCDからUbuntu8.10を導入しました。PCはXPが入っておりますが、新規のUSB-HDに
インストールを行いました。インストール後、GRUBメニューからマルチブート環境が構築された
のですが、USBーHDDを抜いてXPを起動しようとすると、下記のようなエラーになります。

GRUB Loading, Please wait...

Error 21

※通常であれば、GRUB Loading, Please wait...の後にOS選択画面になります。

できればUSB-HDDを抜いた状態で、OS選択のメニューが表示されるようにしたいです。
シンプルにBOOTPARTを利用しようと考えていますが、下記の手順でよいのでしょうか。
※いろいろなサイトで情報を集めましたがあまり自信がありません。。。

1.XPを起動Diskから起動し、NTLDRを復元
2.LiveCDからUbuntuを再インストールし、GRUBをUSBーHDDのルートパーテションにインストール
  確かインストール中に、配置場所を選択する拡張メニューがあったように記憶しています。
3.BOOTPARTでUbuntuのパーティションを追加

できれば再インストールはしたくないのですが、もしそんな方法があったら教えていただけないでしょうか。

簡単な書き方しかできずに申し訳ありませんがよろしくお願いいたします。


*******************引用開始*********************
BIOSの問題ではないでしょう。
単純に内臓HDDのMBRにGRUBが登録されていて、/boot/grub/menu.lstの存在する場所がUSBの中に
なっているからです。

<<希望>>
内臓HDDにMicrosoft Windowsを、USBにUbuntuを、この方式でデュアルブート環境を構築したい。
そしてUSBを刺したときだけUbuntuが起動できるようにしたい。
起動メニューは邪魔くさいからいやだ。

<<回答>>
USB Ubuntuを利用するときだけ、BIOSのブートシーケンスをUSBデバイス優先で起動する。
これしかないでしょう。
但し、USB内の/boot/grub/menu.lstのrootパラメータを事前に
root (hd1,0) から root (hd0,0) に修正しなければなりません。
内臓HDDのMBRにNTLDRを登録する。

又は

起動メニューだけは我慢する場合。
・Windows NTLDR + BOOTPARTを使用する場合。
 内臓HDDのMBRにNTLDRを登録してWindows起動でBOOT.INIメニューから選択して起動する方法。

・Windows NTLDR + GRUB4DOSを使用する場合。
 内臓HDDのMBRにNTLDRを登録してWindows起動でGRUB4DOSメニューから選択して起動する方法。

・MBM + NTLDR + GRUBを使用する場合。
 内臓HDDのMBRにMBMを登録し、MBM起動メニューから選択して起動する方法。

この方法であればWindowsを起動する場合はUSBが刺さっていなくても起動します。
MBRにNTLDRを再登録する方法はWindows インストールCDから出来ますので調べてください。
”FIXMBR C:\”をキーにして検索すれば分かるはずです。
デュアルブート方法には色々なアプリケーションがありますので調べてください。
検索キー、 GRUB4DOS MBM BOOTPARTなど
**************引用終了**************************

最後の編集者: masayan (2009-02-16 23:17:22)

オフライン

 

#2 2009-02-10 23:43:53

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

最後の編集者: kiyoshi (2009-02-11 00:10:42)

オフライン

 

#3 2009-02-10 23:47:09

hir0
メンバ
登録日: 2008-09-28

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

「[解決]USBメモリを刺さないとUbuntuがブートできない」がどこに有るのか分かりませんが、手順1、2、3の2は再インストールしなくても大丈夫です。
端末で
$ sudo /usr/sbin/grub-install /dev/sda
この/dev/sda をUSBHDDに置き換えて実行すればOKです。

最後の編集者: hir0 (2009-02-11 00:02:37)

オフライン

 

#4 2009-02-10 23:54:07

masayan
新しいメンバ
登録日: 2009-02-10

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

kiyoshiさん、hir0さん、早速ご回答いただきありがとうございます。
よかった。再インストール必要ないんですね。
明日休みですので早速試してみます!(^^)

オフライン

 

#5 2009-02-10 23:55:51

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#6 2009-02-11 00:06:59

masayan
新しいメンバ
登録日: 2009-02-10

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

kiyoshiさん、ご丁寧にありがとうございます。
私のPCはパーツオーダーして組んでもらったものなので、多分大丈夫だと思いますが、
「独自のリカバリープログラムを起動する為のNTLDR」というのがあるとは知りませんでした。
作業前にもう少し詳しく読ませていただくことにします。

オフライン

 

#7 2009-02-11 00:14:40

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#8 2009-02-11 00:53:54

hir0
メンバ
登録日: 2008-09-28

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

2と3...はを2は...に訂正しました。

GRUB Loading, Please wait...
Error 21
と言うことはMBRは生きていてると思いますが fixmbr でMBRの修復を行ってから fixboot でboot情報の再構築を行った方が無難かも。

.....ぃゃぁ〜ほんと、どんどん修正されて情報が重複してしまいましたが、masayanさんの手順1、2、3でブートローダの復旧は大丈夫です。

蛇足かも知れませんが grub-install を行ったさい端末からメッセージが帰ってきませんが、エラーが無く無事実行されています。

ぁ〜どんどん修正されて行く、再読み込みが怖い... orz
明日頑張って下さい。

オフライン

 

#9 2009-02-11 11:24:26

masayan
新しいメンバ
登録日: 2009-02-10

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

kiyoshiさん、ご質問の結果を下記に添付します。

XPのインストールCDがあります。特別なリカバリCD等はありませんでした。

下記はコマンド実行の結果です。
何か変なところありますでしょうか。。。

$ sudo fdisk -lの結果

Disk /dev/sda: 163.9 GB, 163928604672 bytes
255 heads, 63 sectors/track, 19929 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x06e406e3


デバイス Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       19929   160079661    7  HPFS/NTFS

Disk /dev/sdb: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x67dee743

デバイス Boot      Start         End      Blocks   Id  System
/dev/sdb1               1         486     3903763+  82  Linux swap / Solaris
/dev/sdb2             487        6565    48829567+  83  Linux
/dev/sdb3            6566       30401   191462670   83  Linux


$ sudo blkid の結果

/dev/ramzswap0: TYPE="swap"
/dev/sda1: UUID="3AA8F7DDA8F7961B" TYPE="ntfs"
/dev/sda5: TYPE="swap" UUID="39968dbe-d1ec-4608-ad52-8b3b5e3d1c02"
/dev/sdb1: TYPE="swap" UUID="6509efda-d8ee-4f94-8ec3-5327d2b28f7c"
/dev/sdb2: UUID="832ad49d-92d5-49a6-ba6d-9247f8aa2019" TYPE="ext3"
/dev/sdb3: UUID="71e1cdd9-abde-4c5b-8abc-bd5c25ce8f94" TYPE="ext3"

オフライン

 

#10 2009-02-11 12:54:23

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

最後の編集者: kiyoshi (2009-02-11 13:21:22)

オフライン

 

#11 2009-02-11 22:40:05

masayan
新しいメンバ
登録日: 2009-02-10

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

kiyoshiさん、HirOさん、
おかげさまで90%解決しました!ありがとうございました。

ただ、内臓HDDのBackupとらずにMBRリカバリをしたので、XPは起動できるようになったのですが、
今度はUSBからUbuntu起動できず、LiveCDから起動して何とかならないものかと色々と試行錯誤
しましたが、知識不足のため断念しました。もう少し勉強します。(ーー)

結局、Ubuntuの再インストールを行い、Ubuntuも起動できるようになりました。
※ただ、UbuntuのGRUBメニューからはXP起動できません。

最初に90%と書かせていただいたのは、下記の現象のためです。

Ubuntu起動時にはUSBーHDDを接続し、BIOSのHDD選択順(Bootデバイスの順番ではなく、HDDの順番)
をUSB-HDDにしておく必要があるようです。これを行わないと、Bootデバイスの順番でUSBーHDDの
優先度を上位に配置しても、内臓HDDのXPが起動されてしまいます。

しかし、一度USB-HDDを抜いた状態でXPを起動すると、BIOSのHDD順序が書き換わってしまうようで、
USB-HDDをさしていても、GRUBメニューが表示されず、内臓HDDのXPが起動してしまいます。
ひょっとしてXPのBOOT.iniに何か記載する必要があるのでしょうか。。。

multi(0)disk(1)rdisk(0)partition(1)....Linux.のような指定を追加(←適当に書きました。。。。)

BOOTPART導入した方が簡単そうですが、USB-HDDをちゃんと読んでくれるか少し心配です。
もうすこし、ネットでしらべてみます。

色々と教えていただき、ありがとうございました。

オフライン

 

#12 2009-02-12 00:40:08

hir0
メンバ
登録日: 2008-09-28

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

しかし、一度USB-HDDを抜いた状態でXPを起動すると、BIOSのHDD順序が書き換わってしまうようで、
USB-HDDをさしていても、GRUBメニューが表示されず、内臓HDDのXPが起動してしまいます。
ひょっとしてXPのBOOT.iniに何か記載する必要があるのでしょうか。。。

一度抜くと起動順序が代わる。不思議ですけどキツいですね。

情報としてですが #1にあった

・Windows NTLDR + BOOTPARTを使用する場合。
 内臓HDDのMBRにNTLDRを登録してWindows起動でBOOT.INIメニューから選択して起動する方法。

以下のサイトはどうでしょうか?
http://www7a.biglobe.ne.jp/~yma/vinelinux/config.html
使用例の画面ですが、
1、C:\>bootpart でパーテーションの番号などの情報を表示。例)の場合真ん中の1が目的の番号。
2、C:\>bootpart 1 bootsect.lnx "VineLinux"  でbootセクタの読み込みとboot.iniの書き込み。

最後の行にある
C:\bootsect.lnx written で設定の書き込み完了の表示。
C:\BOOT.INI updated   boot.iniに反映。
この2行は手動で打ち込むのか、BOOTPART.exeが自動で行うのかは不明です。
 
結果は分かりませんがUSBHDDにUbuntuでBOOTPARTを使用と言うのはたまにこのフォーラムで見かけるので大丈夫だと思います。
*"VineLinux"はOS選択欄に表示される項目なので  ”任意の文字で”。
*bootsect.lnxはbootセクタファイルそのものでは無いと言う記述有り、しかしコマンド dd で抽出したファイルで成功した事例有り、詳細なし。
 
  

オフライン

 

#13 2009-02-12 21:18:07

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

最後の編集者: kiyoshi (2009-02-12 21:22:34)

オフライン

 

#14 2009-02-12 22:09:52

gonchichi
メンバ
登録日: 2007-10-28

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

横から失礼します。話のすじとは直接関係ないかも知れませんが、MBRとNTLDRについて誤解があるようです。デュアルブート構築のためにはブートの仕組みの理解は必要と思いますので、書き込みさせていただきます。

以下のサイトはどうでしょうか?
http://www7a.biglobe.ne.jp/~yma/vinelinux/config.html
  

上記の記述に誤りがあります。

NTLDRはMBRには存在しません。NTLDRはWindowsNTのファイルシステム内に存在します。

MBRにはもともと”ブートストラップローダー”と呼ばれるプログラムがあります。これはOSとは独立した存在でPCーAT互換機の標準の機能としてIBMが入れたものです。通常のWindowsNTの起動はBIOS→MBRのブートストラップローダー→ブートセクタ→NTLDR→Windowsの順となります。

このへんが参考になります
http://nobumasa-web.hp.infoseek.co.jp/boot/bootstrap.html
http://www14.plala.or.jp/campus-note/vine_linux/install/boot_sequence.html

オフライン

 

#15 2009-02-12 22:34:18

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

最後の編集者: kiyoshi (2009-02-12 22:52:34)

オフライン

 

#16 2009-02-13 03:44:45

hir0
メンバ
登録日: 2008-09-28

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

よく見つけられましたね。
確かに理解しないとHDDの先頭部分と第一パーティションの先頭部分の解釈で混乱しますね。

オフライン

 

#17 2009-02-16 00:50:37

masayan
新しいメンバ
登録日: 2009-02-10

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

皆様色々とありがとうございます。
返信が遅れてしまって申し訳ありません。
ご指導のいただいた内容を参考に、色々と試行錯誤を繰り返しましたが依然として状況は変わりません。
またご指導いただけないでしょうか。。。下記に状況を記載します。

1.BOOTPART利用

 BOOTPARTを利用しましたが、エラーメッセージが表示されうまくいきません。
 ※教えていただいたサイトなどを参考にしました。
 このエラーメッセージはBootPartが作成した、Bootファイルに記載されているメッセージが表示されているだけで、
 実際にUSB-HDDを読みに行っていないようです。(HDDのランプが光りません。)
 
 気になったのは、
 http://tkoshima.net/wp/archives/7 で紹介されているような下記のメッセージが表示されず、
 Boot.ini updatedのみ表示されたことです。

     Writing a boot sector using LBA position 49833693 (0x2f866dd)
     c:ubuntu.pbr written
     C:BOOT.INI updated

2.GRUB BootLoaderのファイル化

 BootPartをあきらめ、この方法に挑戦しました。
 下記のとおり、Bootファイルを抜き出しました。
     DD if=/dev/sdb2 of=/(マウントしたWinのCドライブ)/linux.pbr bs=512 count=1
 
 Win側Cドライブ直下に上記ファイルが作成されていることを確認し、Boot.iniにC:\linux.pbr="Ubuntu 8.10"を追記して再起動。
 
 OS選択メニューが表示され、Ubuntu 8.10を選択すると、左上にカーソルが点滅した状態でまったく動きません。

 リセットし、XP起動しバイナリエディタで抜き出したファイルを閲覧したところ、中身がありませんでした。
 (00の表示が続いている状態。)
 
 ※BOOTPARTが抜き出したファイルは一応中身があるようです。
 
どうも上記2つの方法ともに、USB-HDD側のBootイメージがうまく取り出せていないような気がするのですが
正しく抜き出す方法はないでしょうか。

あと、それぞれXPもUbuntuも起動しますが、Ubuntuのブートローダがインストールされているパーティション先頭に記載されていなくても起動するものでしょうか。。。

※やはり初心者には荷が重かったかなと、少し反省してます。(大変勉強にはなりますが。。。)

最後の編集者: masayan (2009-02-16 01:00:36)

オフライン

 

#18 2009-02-16 01:37:46

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

最後の編集者: kiyoshi (2009-02-16 01:38:54)

オフライン

 

#19 2009-02-16 23:14:32

masayan
新しいメンバ
登録日: 2009-02-10

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

kiyoshiさん、ありがとうございました!できました!

ご指摘のとおり、/dev/sdb2へのGRUBインストールをしておりませんでした。。。(ーー;)

インストール後に、下記2つを試しました。
1. PBRを直接WinのCドライブ直下に持っていく方法

2. BootPartでの再設定

1.では、#10でバックアップしたsdb2no2pbrをWinのCドライブ直下にコピーし、Boot.iniにこれを読ませるように追記しました。
バイナリエディタで00でないことを確認、リブートし、OS選択にてUbuntuを選択。 すると「GRUB」という文字だけ表示され
先に進めませんでした。

2.では、1で変更したBoot.iniを別名でバックアップし、元のBoot.iniに戻しました。
Bootpartを起動し、USBHDDの第2パーテションから起動するよう、下記のとおり記載しました。

  bootpart 2 linux.pbr Ubuntu 8.10

linux.pbrが作成されていること、Boot.iniの追記された部分でこのファイルを読み込んでいることを確認。
※このとき、バイナリエディタで確認をしたところ、1で作成されたものと違っていました。
 私の予想では同じになると思っていたのですが。。。

再起動し、OS選択画面でUbuntuを選択すると、無事GRUBメニューが表示されました。

kiyoshiさん、hir0さん、gonchichiさん、色々教えていただきありがとうございました。
おかげさまで、無事問題解決しました!

オフライン

 

#20 2009-02-17 01:50:02

のんき
メンバ
登録日: 2007-03-04

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

付けたし。

masayanさん による投稿:

linux.pbrが作成されていること、Boot.iniの追記された部分でこのファイルを読み込んでいることを確認。
※このとき、バイナリエディタで確認をしたところ、1で作成されたものと違っていました。
 私の予想では同じになると思っていたのですが。。。

bootpartで作られるローダーはbootpart独自のものです。
ddコマンドでpbrから持ってきた物はkernelのバージョンがアップすると書き換えてやらなければなりませんが
bootpartのローダーはその必要がありません。

なお、bootpartのローダー作成コマンドですが
(前)
bootpart 2 linux.pbr Ubuntu 8.10
(後)
bootpart 2 LBA linux.pbr "Ubuntu 8.10"

後のやり方の方が良いようです。

オフライン

 

#21 2009-02-17 02:05:41

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

最後の編集者: kiyoshi (2009-02-17 02:06:23)

オフライン

 

#22 2009-02-17 22:32:22

masayan
新しいメンバ
登録日: 2009-02-10

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

のんきさん、

そうですか、BOOTPARTのローダは特別な仕様で抜き出される物だったんですね。勉強になりました。


kiyoshiさん、

私も詳しく理解できていません。(^^;)
ddコマンドで抜き出したPBRではなぜうまく起動できないのか等々、すこしずつ調べてみようと思います。

色々とありがとうございました。

オフライン

 

#23 2009-02-17 23:34:35

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: 【解決済】USB-HDDが無いと、XP、Ubuntu共に起動しない

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

最後の編集者: kiyoshi (2009-02-17 23:36:10)

オフライン

 

Board footer

Powered by FluxBB