dポイントプレゼントキャンペーン実施中!

ノートPCに接続したUSBフラッシュメモリにUbuntuをインストールし、そのUSBメモリから起動できるようにgrubもUSBのMBR(?)に書き込んだところ、起動デバイスを(hd0)とすればUSBメモリを起動ディスクに指定できるようになりました。
ここで、 内蔵ハードディスクにインストールされたWindowsを起動するためのデバイス指定がわからず、(hd1)とかを指定しても起動できません。
この場合、内蔵ハードディスクの指定はどのように書いたらよいでしょうか。
なお、「内蔵ハードディスクのMBRを書き換えてはならず、grubをHDDのMBRに書き込んではならない」という条件です。
2008年4月22日

A 回答 (14件中1~10件)

hd1は第2ハードディスクになりますね。


Windowsは第2ハードディスクからはブートしないうようです。

grub > map (hd0) (hd1)
grub > map (hd1) (hd0)
grub > root (hd1,0)
grub > makeactive
grub > chainloader +1
grub > boot
でWindowsが起動しませんか?
コマンドのスペースも正確に入力して下さい。
    • good
    • 0
この回答へのお礼

egz様、ありがとうございます。
御助言の内容でUSBメモリのMBRに書き込まれたgrubから内蔵HDDのwindowsを起動できました。
grubのmap命令を新たに勉強できました。

Windowsは第1ドライブからしか起動しないのですね。インストールではHDDのMBRを勝手に書き換えたりするし、Windowsはなかなか扱いにくいですね。
2008年4月30日

お礼日時:2008/04/30 21:39

map命令で入れ替えることは気が付かなかったな。


USBメモリの中でもMBRを曲げていたわけですね。
どうも失礼しました。
あのURLにはそこまでのことはなくて、別な回避策を書いていました。

USBメモリそんなに安いのを見つけましたか。
10,800円近くすると思っていました。
    • good
    • 0

ANo.9の補足を見る限りだめですね。



環境がないので、確かめられずにすみません。
私も後学のため、8GBのUSBメモリを購入したくなりました。
大きな電気店でどの程度で買えるのかな。
    • good
    • 0
この回答へのお礼

yakan9様、いろいろとありがとうございます。
投稿しましたように、grubのmap命令でドライブ順を入れ替えてWindowsインストールディスクを第1ドライブにすれば起動できるようです。

8GBのUSBメモリは、3週間ほど前にドスパラという大きな電気店ではないですが、わりとメジャーなPCショップで4千円ほどで買いました。
2008年4月30日

お礼日時:2008/04/30 21:50

>> USBメモリを使用したWinXPとubuntuとのデュアルの方法


>> ​http://forum.ubuntulinux.jp/viewtopic.php?pid=9533
> 申し訳ありませんが、上記2サイトのどの部分が関連するのか、
> よくわかりませんでした。
ここの下記のところが関連すると思いました。

>>> 但し、インストオプションでadvanceにて(hd1,0)とした。>>>>
です。
そこで、ANo.6で、
「既定値では、hda1=(hd0,0)のところを、hdb1=(hd1,0)とすれば
良いようです。」
と書きました。
それにしたがって、貴殿は、インストールをやり直しました。
それから、ANo.9,ANo.10とつながる訳ですが。
さて結果はどうでしたか。
    • good
    • 0

ANo.6


ANo.7の記述を省略したのがまずかったのでしょうか。

省略しないで書きますと次のようなことです。
USBメモリにUBUNTUをインストールする際、既定値であるhdaで行うと、
パソコンのHDDと同じ名前となり、本来一意的でなければ
ならないのがここで崩れてしまう。
そこで、USBメモリにUBUNTUをインストールする際、
既定値であるhdaでなく、hdbとすることで名前が重ならないようした。こうすることで、両方を同時に認識できるデザインを
取ったということです。
すなわち、パソコンのHDDは、今までどおり、hda=(hd0,0)
USBメモリは、hdb=(hd1,0)という名前をつければ、両方認識
できるということです。
    • good
    • 0

ANo.5の補足を読ませてもらいました。


ANo.6の補足も読ませてもらいました。
ここで整理したいと思います。
1.共有で使用されているパソコンは、HDD1台で80GBですね。
2.貴殿が使われているUSBメモリは、8GBですね。
> Ubuntu-Live-CDを起動してUSBにインストールをする際、
> grubのインストール先には(hd1)を指定することで、
> USBメモりのMBRに書き込むことができました。
> インストール後は、"root (hd0,0)"と指定することで
> インストールしたLinuxをUSBメモリから起動できました。

>> インストール後は、"root (hd0,0)"と指定することで
の部分は正しいでしょうか。


このあと、USBメモリの
/boot/grub/grub.confのWindowsXPの起動は下記のように修正して
試されましたか。
root (hd0,0)
 chainloader +1

でだめだったのでしょうか。

この回答への補足

yakan9様、ありがとうございます。

>>> インストール後は、"root (hd0,0)"と指定することで
> の部分は正しいでしょうか。

既に書いていますが、
(1)Ubuntuのインストール作業時に(hd1)を指定することでUSBメモリのMBRにgrubが書き込まれます。
(2)Linux起動時に、grubに "root (hd0,0)" と指定することで、パソコンがUSBメモリのMBRを読み込み、そしてUSBメモリの第1パーティションのカーネルを読み込んでUbuntu Linuxが正常に起動します。
(3)上記の(hdx)の指定は一見間違っているように感じられるかもしれませんが、間違いありません。

> /boot/grub/grub.confのWindowsXPの起動は下記のように修正して
> 試されましたか。
> root (hd0,0)
>  chainloader +1

この場合、"Invalid or unsupported executable format" というエラーになります。

2008年4月27日

補足日時:2008/04/27 22:06
    • good
    • 0

grub-shellのTabkey補間機能を使えば解かると思います。


USBメモリからブートしてgrubが起動し、grub >の画面になれば
root (h まで入力してTabkeyを押すと選択可能なものが表示されるのでWindowsと思われるものを選ぶ。
grub > root (hd1, ここでTabkeyを押すとPartition num:0 Filesystem type unknown partition type 0x7
など選択可能なものが表示される。
partition type 0x7がWindowsと思われるのでnum:の後の数字を入力する。
grub > root (hd1,0)
grub > makeactive
grub > chainloade + 1
grub > boot
うまくWindowsが起動すればUbuntuのgrubのメニューに追加する。
    • good
    • 0
この回答へのお礼

egz様、ありがとうございます。

"grub > root (" の場面でtabキーを押したところ、
Possible disks are : fd0, fd1, fd2, fd3, fd4, fd5, fd6, fd7, hd0, hd1
と表示されました。

hd0を選んでtabキーを押すと、USBフラッシュメモリ内のパーティションと同じ構成のパーティション一覧が表示されましたので、hd0がUSBフラッシュメモリと判断しました。

hd1を選んでtabキーを押すと、内蔵HDD内のパーティションと同じ構成((hd1,0)しかない)のパーティション一覧が表示されましたので、hd1が内蔵HDDと判断しました。

次のgrub設定で起動しようとすると、"Starting up ..."と表示されてハングアップしました。
 root (hd1,0)
 makeactive
 chainloader +1

このPCは共用であり、別の管理者がインストールをしています。
私の結論は、「hd1が内蔵HDDである。Windowsは電源起動後すぐに普通に起動しているが、共用PCであることから、MBRに何らかの細工がなされているのではないか」です。

2008年4月27日

お礼日時:2008/04/27 09:36

> 「内蔵ハードディスクのMBRを書き換えてはならず、


> grubをHDDのMBRに書き込んではならない」というのは、
> 「使っているPCが自分専用のものでなく共用のもので、
> MBRを含めHDDに勝手な書き込みをしてはならない。
> でも、自分が使っている時にLinuxを使いたい」というためです。
分かってみれば、簡単な理由でしたね。
HDDのマスターのMBRをそのままにということは、USBメモリを、
スレーブにしておけばよいだけです。
スレーブもあるとすれば、hda,hdb,hdcといった、定義のない
部分を見つけるだけでしょうか。

ここまで理解できていれば、USBメモリにubuntuをインストール
する際のオプション指定は、気をつけていればすぐに分かりますよね。
たぶんUSBメモリのパーティションを切るときに、hdaか、
他に候補が挙がっているかと思いますが、如何でしょう。

大変勉強になりました。ありがとうございました。
    • good
    • 0

非常に面白いブートローダを利用していますね。


後学のため、少しubuntuの日本語フォーラムを覗いてみました。
やはり特殊なことをやっていますね。
通常は、HDDのMBRから起動するところ、
BIOS →HDDのMBR → Windows
BIOS →USBメモリ → USBメモリのMBR
という方式を取っています。
ここで、USBメモリのMBRをインストールのときに、変更を
加えなければならないようです。
既定値では、hda1=(hd0,0)のところを、hdb1=(hd1,0)とすれば
良いようです。

詳しくは、下記を見て参考にしてみたらよいと思います。
日本語フォーラム
http://forum.ubuntulinux.jp/

USBメモリを使用したWinXPとubuntuとのデュアルの方法
http://forum.ubuntulinux.jp/viewtopic.php?pid=9533

この回答への補足

yakan9様、ありがとうございます。

> ここで、USBメモリのMBRをインストールのときに、変更を
> 加えなければならないようです。
> 既定値では、hda1=(hd0,0)のところを、hdb1=(hd1,0)とすれば
> 良いようです。

Ubuntu-Live-CDを起動してUSBにインストールをする際、grubのインストール先には(hd1)を指定することで、USBメモりのMBRに書き込むことができました。
インストール後は、"root (hd0,0)"と指定することでインストールしたLinuxをUSBメモリから起動できました。

> 詳しくは、下記を見て参考にしてみたらよいと思います。
> 日本語フォーラム
> ​http://forum.ubuntulinux.jp/
>
> USBメモリを使用したWinXPとubuntuとのデュアルの方法
> http://forum.ubuntulinux.jp/viewtopic.php?pid=9533
申し訳ありませんが、上記2サイトのどの部分が関連するのか、よくわかりませんでした。

2008年4月27日

補足日時:2008/04/27 10:29
    • good
    • 0

fdisk -l /dev/xxx


としないで、
fdisk -l
だけのときは、どんな状態でしょう。
この状態での認識が、正しいのだと思います。

調査の仕方として、USBメモリで起動した場合は、そのときのそのOSの
認識を正しく把握することであって、fdisk -l /dev/xxxと
先入観だけで入力した時点で、曲げられています。
やってみる環境がないので確証はないのですが、
特殊な認識をしていると思います。
あと、rootになって、gpartedでの認識も可能ではないかと思います。

もしかすると、USBメモリの認識を、シンボリックリンクで
逃げている可能性が高いのではないかと思います。
この場合は、USBメモリの中だけで、hda=USBメモリ
としての認識かも知れないです。
USBメモリの中だけで閉じているのではないでしょうか。
もしそうであれば、外へのアクセスはできない仕様で、
基本的に無理なことをやろうとしているだけなのかもしれません。
> # fdisk -l /dev/sda で内蔵IDE-HDDが表示される。
> root (hd0,0) では "Invalid or unsupported executable format"
> となる。
ANo.4の補足を見る限りでは、この説のようです。

メーリングリストでご自分で調べてみればよいでしょう。

試すとすれば、swapファイルをHDDにおくとインストールエラーに
なったりしないかです。
インストールエラーにならなけば、/etc/fstabの
スワップファイルの定義を見るとか。

ubuntuは、Linuxの中でも特殊ですから、どんな仕様か不明です。
このところ良く登場するようになったディストリビュション
ですね。
rootでの操作が、面倒なのと、
rpmパッケージ管理に独自の加工をしているのは、
debianと同じです。
本来の操作から、危険な部分を取り除き安全策を取り込んで
いるため、一つ手間がかかって使いづらいですね。
    • good
    • 0
この回答へのお礼

yakan9様、ありがとうございます。

fdisk -l の結果は次のとおりです。
# fdisk -l

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x03090309

Device Boot Start End Blocks Id System
/dev/sda1 * 1 9728 78140128+ 7 HPFS/NTFS

Disk /dev/sdb: 8120 MB, 8120172544 bytes
255 heads, 63 sectors/track, 987 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x434f4475

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 13 104391 83 Linux
/dev/sdb2 14 622 4891792+ 83 Linux
/dev/sdb3 623 659 297202+ 82 Linux swap / Solaris
/dev/sdb4 660 987 2634660 5 Extended
/dev/sdb5 660 666 56196 83 Linux
/dev/sdb6 667 862 1574338+ 83 Linux
/dev/sdb7 863 987 1004031 b W95 FAT32

シンボリックリンク云々以下の御助言は、恥ずかしながら私の理解を超えています。
ただ、root (hd0,0) では "Invalid or unsupported executable format"というのは、ext3パーティションを指定してWindowsを起動しようとしたから表示されたエラーではないかと思います。

2008年4月27日

お礼日時:2008/04/27 09:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!