
Ubuntu日本語フォーラム

ログインしていません。
はじめまして
Linuxそのものが初めてなのでよく解っていないところがありますがよろしくお願いします
HDDにWindowsとLinuxを両方インストールしてUSBメモリを指した時だけLinuxのブートローダーが起動するという形を取りたいのですが方法が解りません
(USBメモリを外している時は選択肢無しにWindowsを起動させたい)
インストール時にインストールするパーティションをHDDに作成してブートローダーをUSBメモリに指定しました
インストール後USBから起動しようとするとGrub... Error 17と表示されてブートローダーが上手く起動しません
8GBのUSBメモリにブートローダーとWindowsとの共有ドライブを作りたいと思っています
よろしくお願いします
オフライン
Linuxそのものが初めてなのでよく解っていないところがありますがよろしくお願いします
下記を参考にして頑張って下さい。
https://wiki.ubuntulinux.jp/UbuntuTips/Others/CreateBootUsbFlash
オフライン
jackalopeさん返答ありがとうございました
URLを拝見したのですがその方法だと一度GURBをインストールしないと行けませんよね?
Ubuntuのインストール時にGURBをインストールして後からそれを削除できますか?
アンインストールの仕方も解りません
できればブートローダーをインストールしたくないのと普段USBメモリを指していない時はLinuxのブートローダーを表示させたくありません
ブートローダーをインストールしないで他のパソコンなどで作成することはできないでしょうか?
オフライン
みのり53 による投稿:
インストール時にインストールするパーティションをHDDに作成してブートローダーをUSBメモリに指定しました
はじめてということで、不恰好ですが今後アップデート時などに問題が起きにくい方法が良いのではと思いますので
USBメモリのGRUB→HDDのGRUB→OS起動、と、2回GRUBを通る方法を紹介致します。
※なお、なんでまた2回GRUBを通る方法を紹介するかというと、Ubuntuはカーネルにアップデートがあると
※自動的にGRUB(実際はmenu.lst)の更新作業が走るので、Ubuntu本体はあたかも単一HDDにインストールされているかの
※ような状況の方が問題が起こりにくいだろうという考えです。
よろしければ、まず、お手数ではありますがもう一回CDからUbuntuを入れなおして下さい。
(入れなおさなくても良い方法はありますが、多分入れなおした方が操作が簡単です)
その際、GRUBのインストール先を、Ubuntuを入れたパーティションに設定します。
まず、これで「自分で起動できないが、パーティションの先頭にGRUBの入ったUbuntu」がHDDに入ります。
※CDを抜いて再起動したらWindowsが何事もなかったかのように立ち上がるはずです。
次に、HDDのUbuntuを入れたパーティションの頭にあるGRUBをたたき起こすために、GRUBの入ったUSBメモリを
作るのですが、便利そうなものを探しますので、しばらくお待ちください・・・
オフライン
あまり簡単な方法、と行きませんでしたが、(結果的に3段ブートになってます・・・)
・動作が確実そうで、
・設定ファイルのコピーや編集作業はWindows環境で行い、
・Windowsのパーティションにはとにかく一切触らず、
・Ubuntuもひとつのパーティションに収まっていてアップデートがスムーズに行くと思われ、
・USBメモリの残りの容量をWindowsとUbuntuで使える
方法が一応まとまりましたのでご紹介します。
※これより良いGUIツール等ご存知の方いらっしゃいましたら何卒お力添えください。
[1]syslinuxをダウンロード
http://www.kernel.org/pub/linux/utils/boot/syslinux/
より、syslinux(今最新版は syslinux-3.74.zip のようです)をダウンロード、展開しておきます。
[2]grub4dosをダウンロード
http://sourceforge.net/project/downloading.php?group_id=104188&filename=grub4dos-0.4.4.zip&a=65072489
より、grub4dos-0.4.4.zip(今最新版は grub4dos-0.4.4.zip のようです)をダウンロード、展開しておきます。
[3]USBメモリを起動可能にする
USBメモリをFAT32でフォーマットします。
USBメモリのドライブ名をしっかり覚えます。ここでは U ドライブとします。
syslinuxを展開したフォルダ内のwin32フォルダ、例えば syslinux-3.74\win32 を開きます。
メモ帳等で、
syslinux.exe -maf U:
と1行書いたファイルを、syslinux-3.74\win32 フォルダ内に jikkou.bat(.batであれば何でもいい)として保存し、実行します。
※cmd.exeを普通に使って syslinux.exe -maf を行えればそれで問題ないです。
USBメモリのドライブ名がUドライブでなければ、U: を対応したドライブ名に変えてください。
[4]GRUB4DOSを入れる
grub4dosを展開したフォルダ内に、grub.exe があるので、USBメモリのルートにコピーします。
[5]設定ファイル作成
USBメモリ内に、syslinux.cfg ファイルと menu.lst ファイルを作ります。
syslinux.cfg の中身は
default grub.exe timeout 0
menu.lst の中身は、まずは
title ubuntu map (hd1) (hd0) map (hd0) (hd1) chainloader (hd1,4)+1 boot title shutdown halt
としてみます。
[6]USBメモリから起動
PCを再起動し、BIOSでUSBメモリから起動するように設定します。
USBから、まず一瞬syslinuxが起動し、grub.exeが実行され、grubのメニュー画面になりますので
試しに ubuntu を選んでEnterを押してみて下さい。
上記 menu.lst の中身は、
・HDDが1台
・HDDの先頭の基本パーティションがひとつ、それがCドライブでWindowsが入っていてアクティブパーティション
・その後ろに拡張パーティション、その中に論理パーティションが順にUbuntu、スワップ
となっていると仮定して、BIOSのディスク認識順も勘で決め打ちした仮の設定ですが
もしかしたら、起動するかもしれません。
起動しなかった場合は、Ctrl+Alt+Delで再起動します。その後grubメニュー画面で
shutdown を選べば電源が切れますので、USBメモリをはずし、Windowsで起動して、フォーラムに相談にいらしてください。
※grubコマンドラインを使って、USBメモリから起動した時BIOSがUbuntuパーティションを何番と認識しているかを調べて
※USBメモリ の menu.lst を編集する作業を行います。
オフライン
URLを拝見したのですがその方法だと一度GURBをインストールしないと行けませんよね?
Ubuntuをインストールしたパーティション(PBR)にインストールします。
Ubuntuのインストール時にGURBをインストールして後からそれを削除できますか?
削除の意味はPBRにインストールしたGrubを削除する事でしょうが、PBRにインストールしただけであればWindowsの起動時にOS選択の表示はしません。
私は削除する方法は分かりません。
パッケージはSynapticで削除できます。
ブートローダーをインストールしたくないのと普段USBメモリを指していない時はLinuxのブートローダーを表示させたくありません
リンク先の情報を参考にすれば出来ます。
menu.lstでUbuntu起動時にもOS選択の表示を出ないようにする事も可能です。
ブートローダーをインストールしないで他のパソコンなどで作成することはできないでしょうか?
意味がいまいち不明です。
UbuntuをインストールしたパーティションにGrubをインストールしないで、USBメモリからUbuntuを起動させるにはmenu.lstで設定すれば出来ますが、起動するカーネルバージョンがmenu.lstで固定されますので、カーネルのバージョンアップがあった場合にmenu.lstを手動で変更しなければ最新のカーネルで起動できない等の問題がありますのでおすすめできる方法ではありません。
最後の編集者: jackalope (2009-04-15 10:47:09)
オフライン
jackalope による投稿:
リンク先の情報を参考にすれば出来ます。
上で長々と書いてしまった者ですが、私は
https://wiki.ubuntulinux.jp/UbuntuTips/Others/CreateBootUsbFlash
の方法は私はお勧めしません。
上記リンク先の方法では、USBメモリ上のmenu.lstに vmlinuz や initrd.img が決め打ちで書き込まれ、USBメモリのmenu.lstに書いてあるカーネルを呼ぶことになるので
起動するカーネルバージョンがmenu.lstで固定されますので、カーネルのバージョンアップがあった場合に menu.lstを手動で変更しなければ最新のカーネルで起動できない等の問題
は発生しますよね?
PBRのGRUBをUSBのブートローダからチェインロードした方がUbuntu上のトラブルが少ないように思います。
※USBメモリ上のmenu.lstもカーネルバージョンアップ時update-grubで更新してくれるのか調べておりませんが、
※USBメモリをはずしてカーネルバージョンアップが入ったらどうなるのか、など考えると
※USBメモリはPBRのGRUBをキックするだけのものとしておいた方が良いように思います。
また、実際のところ、私の書いた方法も
https://wiki.ubuntulinux.jp/UbuntuTips/Others/CreateBootUsbFlash
のmenu.lstの中身違いみたいなものではあるのですが、この方法だとmenu.lstがext2の上にあるため、
慣れ親しんでいるWindows上で作業を行ったり今後の編集が出来たほうが良いのではないかと思います。
いずれにせよ、Ubuntuをインストールしたパーティション(PBR)にGRUBを入れます。
※入れなければならない、という訳ではないのがUbuntuやLinuxの柔軟なところですが、今回は入れるものだと思っておいてください。
それにはCDからUbuntuを入れ直して、その時のGUIで行うのが楽と思います。
PBRにインストールしただけであればWindowsの起動時にOS選択の表示はしません。
そうして「自分で起動できないが、パーティションの先頭にGRUBの入ったUbuntu」の状態になった後に、
Windows上で私の書いた方法を行うか、
もう一度LiveCDで起動してUbuntu上で
https://wiki.ubuntulinux.jp/UbuntuTips/Others/CreateBootUsbFlash
の作業を行います。
オフライン
取り合えずブートローダーが無くても動くはずのものを用意しました。
最初の起動には Ubuntu Tips/その他/起動しなくなったシステムを復旧するにはライブCDで普通に起動したのではダメです、インストールされたUbuntuでスクリプトを実行します。
起動後CDを抜くことが出来れば成功しています。
1、システム->システム管理->パーティションエディタでUSBメモリに起動用パーティション 11〜12MB 用意してFAT32 でフォーマットして下さい。
残りはお好きな使い道で大丈夫です。
--------------------------------------------
2、デスクトップに新規フォルダ「boots」を作りその中にテキストエディタで「 bootkernel.sh 」「 dev 」「 usb 」の3つの空のファイルを作ります。
「 bootkernel.sh 」には後述するスクリプトファイルをコピー&ペーストして下さい。
「 dev 」には Ubuntu がインストールされているディスク 例) sda2 等の4文字を記入して保存
「 usb 」には USBメモリを指した時に認識されている名称を 例) sdb1 等の4文字を記入して保存
--------------------------------------------
3、CDドライブにUbuntu8.10のCDを入れてマウントします。 次にUSBメモリもマウントします。
マウントとはクリックしてウィンドウが開ける状態の事です。
--------------------------------------------
4、端末から
$ cd ~/デスクトップ/boots
$ sudo chmod u+x bootkernel.sh
$ sh bootkernel.sh
を実効します。
--------------------------------------------
5、bootsの中に出来た「boot」フォルダの中身を全てUSBメモリの起動用パーティションにコピーして下さい。
USBメモリに作られたファイルはそのままにしておいて下さい。
完成です。
--------------------------------------------
この方法は最初に起動した方法をUSBメモリを使って使用しています。
おそらくGRUBはいらないですがカーネルのアップデート後はもう一度スクリプトを実効しなおす必要が有ります。
スマートなのは前出のお二方の方法ですがGRUBを存在させたくないのでしたら試してみて下さい。
#!/bin/sh
mkdir boot
mkdir boot/casper boot/syslinux
cp /cdrom/isolinux/*cfg boot/syslinux
cp /cdrom/isolinux/bootlogo boot/syslinux
cp /cdrom/umenu.exe boot
cp /cdrom/autorun.inf boot
pdev=$(cat dev)
usb=$(cat usb)
vname=$(uname -r)
sudo cp /boot/initrd.img-${vname} boot/casper/initrd.gz
sudo cp /boot/vmlinuz-${vname} boot/casper/vmlinuz
#sudo cp boot/umenu.exe /dev/${usb}
#sudo cp boot/autorun.inf /dev/${usb}
sudo chmod -R 777 boot
mv boot/syslinux/text.cfg boot
mv boot/syslinux/isolinux.cfg boot
sed -e '6,$d' -e "s/boot=casper/root=\/dev\/${pdev}/" boot/text.cfg > boot/text2.cfg
sed -e 's/file=\/cdrom\/preseed\/ubuntu.seed//' boot/text2.cfg > boot/syslinux/text.cfg
sed -e 's/300/10/' boot/isolinux.cfg > boot/syslinux.cfg
cp boot/syslinux.cfg boot/syslinux
rm boot/text.cfg boot/text2.cfg boot/isolinux.cfg
sudo chmod -R 777 boot/casper
sudo syslinux /dev/${usb}
#sudo cp -R boot/casper /media/disk
#sudo cp -R boot/syslinux /media/disk
#sudo cp boot/syslinux.cfg /media/disk
sudo sync
#sudo rm -r boot/******************************************:
https://forums.ubuntulinux.jp/viewtopic.php?pid=29049#p29049
上記の方法はヤッツケ感が有りましたが新しく作りなおして起動したUbuntuからライブCDを使わず作成出来るようになりました。
最後の編集者: hir0 (2009-04-17 03:21:49)
オフライン