
Ubuntu日本語フォーラム

ログインしていません。
Ubuntu 8.04 on USB HDD : 複数のPCで使う新しい方法
https://forums.ubuntulinux.jp/viewtopic.php?id=2057
この方法でUSBにubuntuをインストールして使おうとしているのですが、LiveCDでUSBブートを作ったPCでしか起動しません
ほかのパソコンではブートCDが起動してもエラー15というのが出てしまいUSBメモリを認識していないみたいなのですがどうしたものでしょう・・・
やはり、バージョンが違うとできないのでしょうか?ちなみにバージョンは8.10ですが、8.10ではこの方法を使えないのでしょうか?
初心者なのでなんとか助けてやってください、お願いします。
オフライン
https://wiki.ubuntulinux.jp/UbuntuTips/UsbInstall/InstalltoUSBStorage
まず確認です。
URLの方法と照らし合わせて、手順10は間違いなく実行されたでしょうか。
ブートローダーをHDD(/dev/sda)では無くUSBメモリ(おそらく/deb/sdb)にインストールする必要が有ります。
USBメモリを抜いた状態でPCを起動して内蔵HDDのOSは起動しますか?
問題の改善には以下のURLを実行して下さい。
https://wiki.ubuntulinux.jp/UbuntuTips/Others/RepairMbrWithGrub
nanayaさんの状況により
・GRUBの更新
・GRUBのインストール
・設定ファイルの更新
が必要です。
URLの手順2はGRUBを新規インストールする場合です。
既にインストールされている場合は効果がありませんので、手順2の所で
$ update-grub
を実行して下さい、設定ファイル等を更新してくれます。
それから結果を報告下さい。
(出来れば上段のURLを手本に再インストール、もしくは手順の再確認を行って頂くとこちらも状況が読みやすいのですが)
オフライン
あーーー!
思いっきり勘違いしていました、ゴメンなさい。
「起動ディスクを使用してUSBメモリから起動できない」
・インストールを行ったPCからは起動できる。
・他のPCからはエラー15で起動できない
えーと、まずUbuntuのバージョンですが関係ありませんがブートローダーのバージョンは大事です。
8.10は問題ないですが、9.04はユーザーの意思で、9.10以降はデフォルトで新バージョンのGRUBが採用されていますので入れ替えるか新しい起動ディスクを作らなければいけません。
エラーはアバウトな表現ですが、起動に必要なファイルを見失って居ます。
USBメモリには必要なファイルは有るはずなので、GRUBはUSBメモリ以外のデバイスを読みに行っているのでしょう。
起動ディスクを開いて bootフォルダが存在すれば中にあるgrubフォルダを開いて「menu.lst」と「device.map」の中身を教えて下さい。
それに加えて起動できるPCで、
$ sudo fdisk -l
起動できないPCからはUSBメモリを挿した状態でライブCDから起動して
$ sudo fdisk -l
この台のPCでの$ sudo fdisk -l の結果と起動ディスクの「menu.lst」と「device.map」をコピペで張り付けてください。
オフライン
この台のPCでの$ sudo fdisk -l の結果 → この2台のPCでの$ sudo fdisk -l の結果
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
オフライン
menu.lstは
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.
## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default 0
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10
## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu
# Pretty colours
color black/cyan blink-red/cyan
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=5aa75fef-0eaf-43e0-995e-189a30f9d118 ro
## default grub root device
## e.g. groot=(hd0,0)
# groot=5aa75fef-0eaf-43e0-995e-189a30f9d118
## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true
## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash
## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false
## Xen hypervisor options to use with the default Xen boot option
# xenhopt=
## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery) single
# altoptions=(recovery mode) single
## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true
## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false
## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false
## ## End Default Options ##
title Ubuntu 8.10, kernel 2.6.27-7-generic
uuid 5aa75fef-0eaf-43e0-995e-189a30f9d118
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=5aa75fef-0eaf-43e0-995e-189a30f9d118 ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet
title Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode)
uuid 5aa75fef-0eaf-43e0-995e-189a30f9d118
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=5aa75fef-0eaf-43e0-995e-189a30f9d118 ro single
initrd /boot/initrd.img-2.6.27-7-generic
title Ubuntu 8.10, memtest86+
uuid 5aa75fef-0eaf-43e0-995e-189a30f9d118
kernel /boot/memtest86+.bin
quiet
device.mapは
(hd0) /dev/sda
(hd1) /dev/sdb
でした
オフライン
ブートローダーをwikiにまとめられたのですね。
通常?ブートローダーは何らかの方法でデバイス(HDD、パーティション、USBメモリ&HDD等)を読み込みます。
CDにインストールしたブートローダーからその機能が働くので有れば、nanayaさんの問題は苦もなく解決できます。
まだ情報が無いので原因を特定で来ていませんがGRUBではテキスト形式の設定を読み込むので自動で探し出してくれる事は、かなりスマートだと思います#5のリンクを参照して下さい(出きるかどうかの確認はしていません、)
GRUBにこだわりが無ければ色々なブートローダーを試してnanayaさんの使用状況や嗜好に叶うものをチョイスするのも選択肢です。
[使用状況,etc...]
・使うPCはある程度決まっている or 不特定である
・各ブートローダーの見た目の問題
・カスタマイズ性
話が変わってきていますが気にしないでください。
と言うのもkiyopさんも書かれている通り、設定さえ上手くいけば、もしくは環境が変わった状態でも上手く変化を設定に反映できれば問題は無いので、「起動できない」=「無理」では無いので安心して下さい。
(PCとの相性のトラブルは省きます)
オフライン
あら、遅くまで起きて居られたのですね。
#6の投稿、ありがとうございます。
これで起動ディスクがどの様な設定を使っているか分かりました。
後の情報が遅れているのはコマンドでの操作が苦手なのかもしれませんね。
アプリケーション→アクセサリ→「端末」を起動すると「$」マークが現れます。
$ に続いて sudo fdisk -l と半角英数でタイプして下さい。 最後の l は小文字のエルです。
パスワードを聞かれますがログインパスワードを入力して下さい。
文字は表示されませんしカーソルも動きませんが正常です。
間違い無い様に入力したら「エンター」keyを。
ライブCDからの場最はパスワードは求められないかもしれません。
もう一つ情報が欲しいです。
#6のmenu.lstはUSBメモリをUUIDと言うIDを使用して認識していますので、起動できないPCでUSBメモリのUUIDがどう認識されているのかが気になります。
起動できない方のPCにUSBメモリを挿した状態で、端末から
sudo blkid /dev/sdb1
と入力して結果をお願いします。
注)sudo blkid /dev/sdb1 の sdb1 はUSBメモリのデバイスファイル名です、分からなければsudo fdisk -l の結果を先に下さい。
オフライン
使えないPC
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x073b869b
デバイス Boot Start End Blocks Id System
/dev/sda1 * 1 183 1464320 27 不明
Partition 1 does not end on cylinder boundary.
/dev/sda2 183 26735 213280768 7 HPFS/NTFS
/dev/sda3 26735 28559 14648320 7 HPFS/NTFS
/dev/sda4 28559 30402 14803128 27 不明
Disk /dev/sdb: 32.0 GB, 32078036992 bytes
255 heads, 63 sectors/track, 3899 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0xc3072e18
デバイス Boot Start End Blocks Id System
/dev/sdb1 * 1 3797 30499371 83 Linux
/dev/sdb2 3798 3899 819315 82 Linux swap / Solaris
使えるPC
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0x2da92da8
デバイス Boot Start End Blocks Id System
/dev/sda1 * 1 6687 53713296 7 HPFS/NTFS
/dev/sda2 6688 19457 102575025 7 HPFS/NTFS
Disk /dev/sdb: 32.0 GB, 32078036992 bytes
255 heads, 63 sectors/track, 3899 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
Disk identifier: 0xc3072e18
デバイス Boot Start End Blocks Id System
/dev/sdb1 * 1 3797 30499371 83 Linux
/dev/sdb2 3798 3899 819315 82 Linux swap / Solaris
でした
オフライン
遅くなってすいません…
/dev/sdb1: UUID="5aa75fef-0eaf-43e0-995e-189a30f9d118" TYPE="ext3"
あとこれでしたね、ではなにとぞよろしくお願いします
オフライン
すみません、予想が外れてしまいました。
どちらのPCもUSBメモリの認識のしかたは同じでした、もちろん起動ディスクやUSBのUbuntuの設定も同じです。
稀に有るGRUBとハードの相性かもしれません(私の環境ではGRUB2から使用で切るようになりました)。
GRUBコマンドを駆使する方法も有るかもしれませんが、それは指揮者の方の登場に任せます。
私の方ではブートローダーを変えてみるのを提案します。
--------------------------------------------------------------
USBメモリではなく起動CDだと焼く手間が有りますので、手始めに ライブCDを起動ディスク代わりにして試して下さい。
https://wiki.ubuntulinux.jp/UbuntuTips/Others/RepairMbrWithGrub
手順1で起動するか試してください。
「boot=casper」を「root=/dev/sdb1」に変更です(手順2は実行しないでください)
まず間違いなく起動するはずです。
次にもう一度再起動、今度は「boot=casper」を「root=UUID=5aa75fef-0eaf-43e0-995e-189a30f9d118」
この方法は「isolinux」を利用した起動方法に当たります。
--------------------------------------------------------------
無事に起動できれば
・GRUBの問題である
・isolinuxは有効である
以上の事から他のブートローダーを使用すれば問題が解決するでしょう。
isolinux の起動ディスクは「スクリプト」形式の実行ファイルにしてあるので(多分、、、)後でURLを書き込みます。
GRUBについては私の場合「GRUB 2」から使用出きるようになったので他の候補も合わせて選考してみて下さい。
個人的にはトラブル時の助けが多いであろう「GRUB 2」で起動ディスクを作成する事ですが他にはkiyopさんのURLを参考にしてみて下さい。
--------------------------------------------------------------
お使いのPC(自宅)だけで起動ディスクを使用するのでしたら「grub4dos」を使用するとWindows環境でLinuxを起動できるようになります。
今回の状況での
メリットは、「起動ディスクを使用しなくても良く、USBだけの移動でスマートである」
デメリットは「USBブート出来ないWindows PC 全てにgrub4dosを入れなくてはイケない」
個人的に自宅で2~3台ならデメリットに感じないですがどうでしょうか、
その他のブートローダーにしても、ビジュアル的な違いはメニューの表示とカスタマイズ性位です。
まずはライブCDを利用してダメな方のPCでUSBから起動できるかの確認をしてみて下さい。
オフライン
↑(訂正) 指揮者 → 識者
isolinux を使用した方法です。
https://forums.ubuntulinux.jp/viewtopic.php?pid=32085#p32085
#1~#5 辺りに目を通して見て下さい
使い方でファイルを「boot.sh」で保存と有りますが、名前が衝突する場合は他の名前で構いませんので半角英数で変更してください。
その場合、#2の実行方法内の「boot.sh」も変更した名称に差し替えて実行して下さい。
nanayaさんの環境に合わせて設定ファイル(メニュー部分)をよりスマートに書き換えた方が良いかも。
以下にスクリプトを張り付けます。
#!/bin/bash を含む全てをコピーしてください(#---ここまで-----は含まれても含まれなくても構いません)
#+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*+*
#!/bin/bash
clear
cd
kstinf=($(ls /lib/modules))
putnum=0
echo -e "--------------------------------------------\n"
echo -e "\tmake boot cd \n"
echo -e "--------------------------------------------\n"
echo -e "\tUSBデバイスで使用しているカーネルを選択して下さい"
echo -e " 左の番号を入力してエンタ−キーを押してください"
while :
do
for ((u=0; u<${#kstinf[*]}; u++)) do
if [ "$u" -eq "$putnum" ]; then
attbl[$u]="tput rev"
else
attbl[$u]=""
fi
done
for ((i=0; i<${#kstinf[*]}; i++)) do
tp=`expr $i + 1`
tput cup `expr $i + 12`
echo -e "\t [`expr $i + 1`]: `${attbl[$tp]}` ${kstinf[i]} `tput sgr0`"
done
echo -e "\n\t 入力:"
if [ "$putnum" -eq 0 ]; then
tput cup `expr ${#kstinf[*]} + 13` 15
read cip
for ((jag = 0; jag<=${#kstinf[*]}; jag ++)) do
if [ $cip == $jag ]; then
fla=1
break
else
fla=0
fi
done
if [ $fla = 0 ]; then
echo -e "不正な入力値です終了します"
exit
fi
if [ "$cip" -lt 1 -o "$cip" -gt ${#kstinf[*]} ]; then
putnum=0
else
putnum=$cip
echo -e "\t ${kstinf[`expr $putnum - 1`]} を選択しました"
break
fi
fi
done
vm=$(ls /boot | grep vmlinuz-${kstinf[`expr $putnum - 1`]})
ini=$(ls /boot | grep initrd.img-${kstinf[`expr $putnum - 1`]})
echo -e "\n\t ディスクイメージファイルを作成します\n"
echo -e "\t$vm\n\t$ini\n\t'bootcd.iso'"
echo -e "ホームフォルダにTemporary.9.Folderが作成されます\n"
echo -e "\t [Yes or No(y/n)] "
tput sc;tput cup 22 28
read ans
if [ $ans = y ] || [ $ans = n ]; then
while :
do
case $ans in
y ) echo -e "\t\t処理中です"
fl=1
break ;;
n ) echo -e "\t\t中断します"0
fl=0
break ;;
esac
done
else
echo -e "\tIt is only 'y' or 'n'"
fi
if [ $fl = 0 ]; then
exit
fi
if [ $fl = 1 ]; then
mkdir -p Temporary.9.Folder/isolinux Temporary.9.Folder/casper
cd ~/Temporary.9.Folder
cp /boot/$vm casper/vmlinuz
cp /boot/$ini casper/initrd.gz
cp /usr/lib/syslinux/vesamenu.c32 isolinux
cp /usr/lib/syslinux/isolinux.bin isolinux
cat > isolinux/isolinux.cfg << EOF
default vesamenu.c32
prompt 0
menu title Please start to choose
menu tabmsg -- Press [Tab] key to keanel option /exit to [Esc] key --
timeout 30
label sdb1
menu label Start device is sdb1
menu default
kernel /casper/vmlinuz
append initrd=/casper/initrd.gz root=/dev/sdb1 ro quiet splash --
label sdb2
menu label Start device is sdb2
kernel /casper/vmlinuz
append initrd=/casper/initrd.gz root=/dev/sdb2 ro quiet splash --
label sdc1
menu label Start device is sdc1
kernel /casper/vmlinuz
append initrd=/casper/initrd.gz root=/dev/sdc1 ro quiet splash --
EOF
sudo genisoimage -R -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o bootcd.iso ./
sudo sync
fi
echo -e "場所、ホームフォルダにあるTemporary.9.Folderの中にあるbootcd.isoをディスクに焼いてください"
#----"ここまで"---------------
オフライン
あ~、、、isolinuxにはカーネルのアップデート後は作り直さないといけない手間がありましたねorz
別のブートローダーで「チェインロード」と言われる手順で起動させるとカーネルアップデートにも耐えれるのですが、情報をどんどん入れると混乱すると思いますので、取りあえず起動を試してみるか、情報を募って取捨選択されるかをお任せします。
オフライン
nanayaさん による投稿:
Ubuntu 8.04 on USB HDD : 複数のPCで使う新しい方法
https://forums.ubuntulinux.jp/viewtopic.php?id=2057
この方法でUSBにubuntuをインストールして使おうとしているのですが、LiveCDでUSBブートを作ったPCでしか起動しません
ほかのパソコンではブートCDが起動してもエラー15というのが出てしまいUSBメモリを認識していないみたいなのですがどうしたものでしょう・・・
やはり、バージョンが違うとできないのでしょうか?ちなみにバージョンは8.10ですが、8.10ではこの方法を使えないのでしょうか?
起動するPCはBIOSがUSBからの起動をサポートしていて、起動しないPCはサポートしていないのでしょう。
起動するPCはBIOSをUSBから起動するように設定すれば今回作ったCDROMを使用しなくてもUbuntuが起動するはずです。
起動しないPCはBIOSがUSBからの起動に対応していないと思われますのでUSBのUbuntuを起動するCDROMが必要になるのですが、今回作ったCDROMはUbuntuのバージョンの違いが原因と思われる不具合があり正常な物ではない。
リンク先のスクリプトは8.04用であり8.10では使えない。
不具合の箇所は、menu.lstのuuid 5aa75fef-0eaf-43e0-995e-189a30f9d118です。
この行を削除かroot (cd)にすれば起動しないPCも起動するはずです。
オフライン
あ~ゴメンなさい、ダメな所を見つけられませんでした。
jackalopeさんがご指摘されている箇所は太字の所です。
title Ubuntu 8.10, kernel 2.6.27-7-generic
uuid 5aa75fef-0eaf-43e0-995e-189a30f9d118
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=5aa75fef-0eaf-43e0-995e-189a30f9d118 ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet
さて、書き換えてisoを作り直すのですが、、、、
「boot-hdd.sh」の10行め辺りにある
sed -i -e 's/hd0,0/cd/' bootcd/boot/grub/menu.lst
の下に次の一行を追加して下さい。
sed -i -e 's/^uuid/root\t(cd)\n\#/g' bootcd/boot/grub/menu.lst
これで8.10と9.04に対応したスクリプトに変更出来ます(のはず)
オフライン
毎回返信が遅れてすみません
hir0さんに最後に示していただいた方法でやった結果異なる複数のパソコンでUSBブートできました。
この初心者にお付き合いいただき本当にありがとうございました
オフライン
nanaya さんへ
いえ、私の方こそ jackalope さんが登場されなかったら違う起動ディスクや、アレやコレやと引っ張りまわしていたかと思うと恥ずかしい限りです。
jackalope さん、有難うございました。
オフライン