お知らせ

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

#1 2009-05-30 01:18:17

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

起動ディスクの作成用スクリプト

USBメモリやUSBHDDにインストールしたUbuntuを起動するisoイメージを生成します。

sdb1,sdb2,sdc1    がデフォルトで用意されていますがUUIDが希望であれば随時変更を加えて下さい。
[Tab]キーで起動オプションの変更、追加ができます。

空き容量に緊急時に使用できるソフトを含んだOSを入れて見るのも面白いかもしれません。

ホームに作ったフォルダは削除していません、カスタマイズ用に残しています。

コード:

#!/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をディスクに焼いてください"

オフライン

 

#2 2009-05-30 03:11:17

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

Re: 起動ディスクの作成用スクリプト

うっ  
削除、訂正が出来ない、、、のでこのまま行きます。

スクリプトの実行法(一応書いておきます)


#1のスクリプトを#!/bin/bash から全てテキストエディタにコピペして保存します。
説明の便宜上ホームディレクトリにboot.sh と言う名前で保存したと仮定します。

1、保存したスクリプトを右クリック、プロパティ -> アクセス権 を開き「プログラムとして実行できる」にチェック。

2、プロパティを閉じてboot.sh をダブルクリック。「端末内で実行する」を選択。

3、2を端末で行う場合は1の操作を行った後に
         

$ ./boot.sh

4、ホームディレクトリにTemporary.9.Folderフォルダが生成され中にbootcd.isoが作られます。

5、bootcd.isoをダブルクリックすると「ディスクの書き込み」ダイアログが出ますので「書き込み」を実行します。



******************************
*
*  アップデートを行った場合
*
******************************

外付けのデバイスにインストールしたUbuntuのカーネルバージョンと作成するisoファイルに含まれるカーネルバージョンは同じでなければいけません。
スクリプト実行時に選択出きるようにするにはアップデートを行ったUbuntu上で作業を行って下さい。
これはHDD,USBは問いません。


-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

[失敗する場合]
・スクリプトを実行しなおす場合は前回生成されたTemporary.9.Folderフォルダは削除するか移動またはリネイムして下さい。
・/bootに何らかの理由で「vmlinuz-x.x.xx-xx-generic」と同名で名前の最後に「bk」等が付いた物が存在する場合は失敗します。
一時的に移動させてください、initrd.imgについても同じです。

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

[生成されるファイル]

    ~/Temporary.9.Folder
    ~/Temporary.9.Folder/bootcd.iso
    ~/Temporary.9.Folder/casper
    ~/Temporary.9.Folder/casper/vmlinuz
    ~/Temporary.9.Folder/casper/initrd.gz
    ~/Temporary.9.Folder/isolinux
    ~/Temporary.9.Folder/isolinux/isolinux.bin
    ~/Temporary.9.Folder/isolinux/isolinux.cfg
    ~/Temporary.9.Folder/isolinux/vesamenu.c32


-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
[カスタマイズ]

ホームディレクトリにあるTemporary.9.Folderフォルダのisolinux.cfgをテキストエディタで編集します。
既存のbootcd.isoは移動か削除して下さい。
以下のコマンドを実行します

コード:

sudo genisoimage -R -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o bootcd.iso ./

 

オフライン

 

#3 2009-05-30 14:33:39

kaznon
メンバ
登録日: 2008-09-25

Re: 起動ディスクの作成用スクリプト

hir0さん ありがとうございました。
今は、 UBUNTUを触れる環境でなくなったので、数日後に 必ず  トライして又、ご連絡いたしますので、よろしくお願いします。

オフライン

 

#4 2009-05-30 19:00:13

kaznon
メンバ
登録日: 2008-09-25

Re: 起動ディスクの作成用スクリプト

hir0さんありがとうございます。

hir0さん による投稿:

isolinux.cfgをテキストエディタで編集します。

まだ 作製する前の質問で、申し訳ないのですが・・上記の部分について・・エディタで開いた後、何をどのように編集すればよいか?
質問してしまうかも 知れません。
答えは、以前に投稿してますよ!といわれそうなのですが・・一応確認です。

下記スレッドの#5 の内容のことでよろしいのでしょうか?
https://forums.ubuntulinux.jp/viewtopic.php?id=4673

hir0さん による投稿:

ライブCDにある[vmlinuz][initrd.gz]も正体は 
/boot/vmlinuz-2.6.2*-**-generic と /boot/initrd.img-2.6.2*-**-generic です。

vmlinuz-2.6.2*-**-genericとinitrd.img-2.6.2*-**-genericの文字列を見つけて、USB-HDDの番号と同じに編集して保存、の流れでしょうか?

オフライン

 

#5 2009-05-30 22:02:08

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

Re: 起動ディスクの作成用スクリプト

そうですね、なるべくこちらも先に情報を提供します。
何処までか、何からかが判断できないので順不同で思いついたままに行きます。
*****************************************
このスクリプトについて
*****************************************
デフォルトでは外付けデバイスに通常インストールしたUbuntuを起動するように設定されています。
メニュー項目で /dev/sdb1  /dev/sdb2  /dev/sdc1  が表示されるのでデバイスの接続先を選びエンターキーで起動させます。

Tabキーで起動オプションが表示されますので希望のオプションまたはUUIDや上記以外の/dev/sd**を指定できます。

------------------------------------------

・この起動方法はsyslinux,isolinuxを使用した方法でUbuntuには初めから準備されています。
私の理解ではCD及びUSBデバイスを起動できるシステム(仕組みは理解はしていませんが)で、起動後sys(iso)linux.cfgを読み込みその記述を順に実行していきます。

・sys(iso)linux.cfg(以後isolinux.cfgとします)はvesamenu.c32、menu.c32を兼用することでビジュアル的な表現が出きる様で多数のオプションが存在します。

・このスクリプトは実行しているシステム(HDDやUSBのOS)にあるカーネルイメージを表示してどれを使うか選択します、これは起動目的のOSと同じ物を選ぶ必要が有ります。
もちろん起動目的のOS上で実行すれば問題は無いですしアップデート前ならインストールに使ったライブCDでもOKです。
ウィンドウで確認するには「場所」-> 「ファイルシステム」-> 「boot」フォルダの中です。

・環境によってはinitrd.img名に文字を追加してバックアップ用に複製したものが存在する場合が有ります、
通常 initrd.img-2.27.11-generic
複製 initrd.img-2.27.11-generic.bk
この場合isoファイルの作成に失敗します、その場合の修正スクリプトは二次災害?を防ぐために今回は書きません理解されている方なら問題はないでしょう。
最後にスクリプトを使わず一つずつコマンドを打つ説明をしますのでそれで対処して下さい。

*****************************************
カスタマイズ
*****************************************
この辺も手探りなので情報になります。

・メニューの色や日本語化、画像、その他オプションはネット上で検索してみてください。(申し訳ないです)

・USBスターとアップディスクの作成で作ったUSBメモリ等は起動オプションをライブCDと同じにしなければいけません。
ただしboot=casper の部分はUSBメモリの接続デバイス名 /dev/sd** かUUID を指定します。

[メニューの説明]

・ホームディレクトリにあるTemporary.9.Folderフォルダのisolinuxにあるisolinux.cfgをテキストエディタで開きます、既存のbootcd.isoは移動か削除して下さい。

・新しい物を追加または既存の物を変更します。

label sdb2
  menu label Start device is sdb2
  kernel /casper/vmlinuz
  append initrd=/casper/initrd.gz root=/dev/sdb2 ro quiet splash --

label      任意の名前で良いはずです、ラベルを使用してこのメニューを呼び出したり指定するために名前をつけます。
menu label 起動時メニュー画面に表示される文字です。
kernel     起動するカーネルと、そのディレクトリを指定します。
append     オプションです。ここの変更が今回のカスタマイズのメインです、ただし initrd=/casper/initrd.gzは変更してはいけません。

---------------------------------------------------
[UUID]

これは接続順序により/dev/sd** が変わっても関係なくなりますがそのIDのデバイスしか使えません。

[UUIDの取得方法]
なるべく余分なデバイスを外して端末から
$ sudo fdisk -l

で目的のデバイスが/dev/sd** か確認します、これはパーティションエディタからも確認できます。
仮に /dev/sdb1 とします。

次に端末から
$ sudo vol_id /dev/sdb1 | grep 'ID_FS_UUID='
の実行結果の=から後が番号です。

メニューのappend の/dev/sd** を変更します。
root=UUID=***************

----------------------------------------------------

USBスターとアップディスクの作成で作ったUSBメモリ等はう〜ん、検証をお願いします。
ライブCDでは以下の様になっていると思われるのですが
file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash tz=Asia/Tokyo utc=no --

boot=casperの変更はもちろんですが後はUSBメモリのsyslinuxフォルダ内のsyslinux.cfgかtext.cfgにメニューが有るので他の部分はそのままコピーで良いと思います。
メニューの場所はライブCD(Ubuntu)のバージョンによって違うので探してください。

-----------------------------------------------------
[設定ファイル変更後のディスクイメージの作成]

コード:

$ sudo genisoimage -R -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o bootcd.iso ./

-----------------------------------------------------

/////////////////////////////////////////////////////
[コマンドの実行]
これは不具合の時の参考、スクリプトへの理解が目的で起動ディスクの説明に直接は関係有りません。
/////////////////////////////////////////////////////

スクリプトでは以下のフォルダとファイルが生成されます。

    ~/Temporary.9.Folder/
    ~/Temporary.9.Folder/bootcd.iso
    ~/Temporary.9.Folder/casper/
    ~/Temporary.9.Folder/casper/vmlinuz
    ~/Temporary.9.Folder/casper/initrd.gz
    ~/Temporary.9.Folder/isolinux/
    ~/Temporary.9.Folder/isolinux/isolinux.bin
    ~/Temporary.9.Folder/isolinux/isolinux.cfg
    ~/Temporary.9.Folder/isolinux/vesamenu.c32


[説明]
 ~/  は略式でホームディレクトリです。「場所 -> ホーム」
  ~/Temporary.9.Folder/     はホームディレクトリに有るTemporary.9.Folderフォルダ
 ~/Temporary.9.Folder/bootcd.iso    は~/Temporary.9.Folderに有るbootcd.iso ファイル

以上を踏まえて説明します。

端末の作業領域をホームに移動させます cd で移動先を指定しないとホームに。起動時は最初からホームですが念のために。

コード:

$ cd

フォルダを生成します、これでTemporary.9.Folderフォルダの中にisolinuxフォルダ、casperフォルダが出来ます。

コード:

mkdir -p Temporary.9.Folder/isolinux Temporary.9.Folder/casper

作業領域をTemporary.9.Folderフォルダに移動します

コード:

$ cd ~/Temporary.9.Folder

bootフォルダに有るvmlinuz-2.*.**-**-generic をcasperフォルダにコピーして名前をvmlinuzに変更します。

コード:

$ sudo cp /boot/vmlinuz-2.*.**-**-generic casper/vmlinuz

同じくinitrd.img-2.*.**-**-genericをコピーして名前をinitrd.gzに変更します。

コード:

$ sudo cp /boot/initrd.img-2.*.**-**-generic casper/initrd.gz

ビジュアルなメニュー項目を作成するファイルvesamenu.c32をisolinuxフォルダにコピーします。

コード:

$ sudo cp /usr/lib/syslinux/vesamenu.c32 isolinux

起動ディスクに使う起動イメージをisolinuxフォルダにコピーします。

コード:

$ sudo cp /usr/lib/syslinux/isolinux.bin isolinux

isolinux.cfgファイルを生成します、これはテキストエディタで作り保存しても大丈夫です。
終了コードのEOFは行頭にないとエラーを返します、(行の先頭に)

コード:

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

全てが揃いました。今いる作業領域はTemporary.9.Folderの中です、ここに有るisolinuxフォルダ、casperフォルダをディスクイメージファイルにして今居る場所にbootcd.isoと言う名前のファイルを作ります。

コード:

$ sudo genisoimage -R -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o bootcd.iso ./

kaznonさん、取りあえずこんな所です。
質問にあった編集は基本的に必要はなくスクリプトを実行するだけで通常のインストールを行った物には有効です。

USBから起動するPCが有るかバーチャル環境が有るのでしたら検証のためにCDを焼くと非常に効率が悪いので2つ提案が有ります。

1、バーチャル環境が有るならisoファイルで起動テストが行える、、、(ですよね、、、)


2、出来上がったisolinuxフォルダ、casperフォルダをUSBメモリにコピーしてisolinuxフォルダをsyslinux,isolinux.cfgをsyslinux.cfgにリネーム。
端末から
$ sudo syslinux /dev/sd**

これで起動USBメモリが出きるのでsyslinux.cfgを変更してメニューの表示の変更確認が容易になるかなと。
未検証ですが起動用のUSBメモリから別のUSBメモリのライブ版を指定して起動することが出来ればかなり楽にテストが出来るかも。

その場合はOS側のUSBメモリはライブCDの中身をそのままコピペしたものでないといけないかなぁ。
うっ 提案というより混乱を招いているのかも、検証方法ははお任せします。

(基本的な起動は確認済です。/dev/sda* でHDDも指定できますよ)

オフライン

 

#6 2009-06-01 15:14:44

kaznon
メンバ
登録日: 2008-09-25

Re: 起動ディスクの作成用スクリプト

hir0さんありがとうございました。
回答が遅くなり、すみませんでした。
まずは、報告です。
#1のスクリプトから ブートCD起動までを試してみました。
結果は成功です!!別のスレッドで(下記)
https://forums.ubuntulinux.jp/viewtopic.php?id=4702
kiyoshiさんを迷路に誘い込んだ 最悪の組み合わせで実行しました。
USBと一番 過去相性の悪かった BIOSでUSBーHDDからの起動をサポートしていないパソコン(←問題のパソコン)に Remastersysで作製したUBUNTU DVDから 通常インストールした USB-HDD を繋いで 例の技(F6からboot=casperをroot=/dev)で起動させ #1のスクリプトから ブートCD起動を作製し 同じパソコンに 繋いで このブートCDですんなり 起動しました。
 BIOSでUSBーHDDからの起動をサポートしていないパソコンや Remastersysで作製したUBUNTU DVDから 通常インストールした USB-HDDからは、エラーが出て起動できず・・・私自身 kiyoshiさんまで迷路に誘い込んだ 睡眠不足の先週一週間は何だったんでしょう!!
何はともあれ、hir0さん ありがとうございました。さっそくブートCDに油性マジックでhir0スペシャル起動ディスクと記入しました。
私なりの先週一週間の結論として Remastersysで作製したUBUNTU CD或いは その他 Lxubuntu等のCDから 通常インストールした USB-HDDは、起動部分のカーネルに何らかの変更を加えられるので、これらの USB-UBUNTUはブートCDより起動できないと解釈してました。←でもこれも違うのですね!

カーネルの変更作業は、今の私のレベルでは 約30パーセントくらいしか理解できません。
又、そのような状況になったら教えてください。

オフライン

 

#7 2009-06-01 16:51:30

kaznon
メンバ
登録日: 2008-09-25

Re: 起動ディスクの作成用スクリプト

まだ 時間がなくて 上記の一回だけで
他の パソコン 他の USB-HDDでは、試しておりません。又、何かあれば報告させてください。
最悪の組み合わせで 起動したので他の組み合わせでも大丈夫だと思いますが・・・

オフライン

 

#8 2009-06-01 21:52:07

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

Re: 起動ディスクの作成用スクリプト

いや〜、良かったです(私が)
内心ダメだったらどうしようかなと、、、ダメなはずはない、ダメなはずはないけどダメなのか?とドキドキしていましたが一安心です。

USB-HDDとUSBメモリにインストールした起動ディスク(CD)ときたついでに起動USBメモリのリンクも。
https://forums.ubuntulinux.jp/viewtopic.php?pid=29336#p29336

一つ良いでしょうか。
自宅で使う場合ですがPCに「grub4dos」と言うものを使うとUSBメモリからの起動がHDDから出きるのではと言う考えなのですが。
端折っての説明ですが内容は、grub4dosはCドライブにbootフォルダを探しだしその中のmenu.lstを読み込む、Cになければ見つかるまでパーティションを順番に探し出すそうですがこれでHDDからGrubが起動するのでmenu.lstからUUID等で起動出来ないでしょうか、
そうすると自宅マシンではUSB起動ディスクなしでも起動出来るかも。

検証用に作ったUSB-Ubuntuが行方不明なのですがまた後日、検証結果を報告します。

オフライン

 

#9 2009-06-03 14:13:45

jackalope
メンバ
登録日: 2009-01-01

Re: 起動ディスクの作成用スクリプト

自宅で使う場合ですがPCに「grub4dos」と言うものを使うとUSBメモリからの起動がHDDから出きるのではと言う考えなのですが。
端折っての説明ですが内容は、grub4dosはCドライブにbootフォルダを探しだしその中のmenu.lstを読み込む、Cになければ見つかるまでパーティションを順番に探し出すそうですがこれでHDDからGrubが起動するのでmenu.lstからUUID等で起動出来ないでしょうか、
そうすると自宅マシンではUSB起動ディスクなしでも起動出来るかも。
検証用に作ったUSB-Ubuntuが行方不明なのですがまた後日、検証結果を報告します。

検証の必要はないです。
Windowsにgrub4dosをいれてブートCDの代わりをさせる事はできます。
ブートCDを使うよりスマートです。

オフライン

 

#10 2009-06-03 23:29:30

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

Re: 起動ディスクの作成用スクリプト

情報有難うございます。
検証しないついでにもう一つ良いでしょうか。

boot.iniにgrub4dosを記述してメニューから起動でmenu.listを探し出してうんぬん、、、

この時点でgrubは立ち上がっていて、後は通常の場合と同じようにmenu.listの記述で複数の起動に対応出きるのでしょうか。
それとgrub4dos独自の振る舞い等が有るのでしょうか。

質問ばかりですみません。

オフライン

 

#11 2009-06-04 09:23:58

jackalope
メンバ
登録日: 2009-01-01

Re: 起動ディスクの作成用スクリプト

boot.iniのメニューでgrub4dosを選択した時点で制御はgrub4dosに移っています。
menu.listはtypoですよね?
Grubと同様にmenu.lstでいろいろな設定ができます。
独自の振る舞いが何を指しているのか分かりませんが、Grubには無い機能もあるようですが詳細は把握していません。
インストールは簡単ですのでご自身で試されてください。

オフライン

 

#12 2009-06-04 12:46:21

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

Re: 起動ディスクの作成用スクリプト

了解です!

オフライン

 

#13 2009-06-06 14:35:50

kaznon
メンバ
登録日: 2008-09-25

Re: 起動ディスクの作成用スクリプト

jackalopeさん hir0さん
ありがとうございます。大変 参考になります。
grub4dosを導入したほうが・・USB-HDD UBUNTUに対しても 簡単にうまくいくと言うことですね!
今 まだ・・別スレッドでも未解決の ブートCDも作成せずに・・画面を選択すれば その選択したOSが立ち上がるというもの・・みたいですが・・←尻つぼみ(T_T)
一応 ネットで検索しましたが うまく探しきれなくて・・・色々と探した結果 私のレベルで 何とか分かる感じのHPが下記なのですか・・・何か 注意事項や 別に もっと分かりやすいHPがあれば教えてください。
http://shino.pos.to/linux/grub4dos.html

オフライン

 

#14 2009-06-06 14:45:26

kaznon
メンバ
登録日: 2008-09-25

Re: 起動ディスクの作成用スクリプト

大きな大間違いでした・・・私のレベルでも なんか違うような? 上記のアドレスは 同じ内蔵HDDにデュアルブートしているという前提での場合でしょうね??
探しに行くプログラムは、フォルダに残ったままみたいです。

オフライン

 

#15 2009-06-06 20:55:58

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

Re: 起動ディスクの作成用スクリプト

まだ未検証ですがjackalopeさんからの情報でOKだとの事。
トピックでgrubを使った起動ディスクも教えていただいているので流れ的に意味を理解されてのOKだと思うのですが。
(これで違っていたら私の文書力が、、、)

一番分かりやすいサイトだと思うのですが、使用法に間違いが無ければ、grub4dos-0.4.4.zip
を解凍、、、あー、、、
Cドライブにgrldrを置いてboot.iniにC:\grldr="Linux"を追加。
menu.lstはCフォルダに作って下さい、
出来ればbootフォルダを作りmenu.lstを。
c:\boot\menu.lst です。

これで起動時にLinuxを指定するとgrldrが作動してmenu.lstに記述された内容の選択画面が出るはずです(未検証ですorz)

内容はどうなるのでしょうかねぇ、marinさんのmenu.lstが参考になりませんか。

私も検証せずに答えを出せるレベルではなく検証して理解してからの説明の段階なので、取り合えず早めに検証はしてみます。
私としては動くと言う前提でrootを(hd1,0) {= /dev/sdb1} か root(cd) {USBにはどうか?}からの検証になります。

当確スレッドでも書いたようにjackalopeさんとmarinさんの方法を私は推しているのですが何故syslinuxと聞かれれば、う〜ん大雑把に言うとgrubをトラブっている人に説明するほど理解していない、syslinuxはライブCDやライブUSBで採用されているので確実性が高い。
以前書いたスクリプトが有るので使いまわせば色々手間が省けるです。

オフライン

 

#16 2009-06-06 22:35:56

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

Re: 起動ディスクの作成用スクリプト

え〜、あっけなく検証終わりました。
USBから起動するPCをBIOS設定でHDDからの起動のみにする。

Windowsから作業をする,
Cドライブにgrldrを置く。
boot.iniに c:\grldr="******" を記述。
menu.lstを置く。bootフォルダを作ると言ったがダメ。裸のままCドライブに置かなきいと見つけられない見たい。
であっけなく起動。

一つ困ったことが、同じ現象が出るかどうかは解らないがUSBの起動確認後、USBを抜いて起動するとboot可能なディスクを見つけられないという。
もちろん最優先のHDDの事だけど。
BIOSでもう一度HDDを指定してやると治った。2度目の確認はしていません、恐らく私のPCの問題で終わると思われますし何か有れば(自分のPCは)その時に対処します。そういった書き込みも無い様です

grub4dosにあったサンプルの設定を試してみた、毒々しい色がなんとも、、、自由に変更を。
それとUUIDの調べ方はもう大丈夫ですよね。

コード:

# This is a sample menu.lst file. You should make some changes to it.
# The old install method of booting via the stage-files has been removed.
# Please install GRLDR boot strap code to MBR with the bootlace.com
# utility under DOS/Win9x or Linux.

color blue/green yellow/red white/magenta white/magenta
timeout 30
default /default

title        Ubuntu 8.10, kernel 2.6.27-7-generic
uuid        2ae*****-9e17-***-8eb3-35d1c0d6**
kernel        /boot/vmlinuz-2.6.27-7-generic root=UUID=2ae****-9e17-***-8eb3-35d1c0d6** 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        2ae*****-9e17-***-8eb3-35d1c0d6**
kernel        /boot/vmlinuz-2.6.27-7-generic root=UUID=2ae****-9e17-***-8eb3-35d1c0d6** ro  single
initrd        /boot/initrd.img-2.6.27-7-generic

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title        Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title        Microsoft Windows 
root        (hd0,0)
savedefault
chainloader    +1

オフライン

 

#17 2009-06-08 14:52:16

kaznon
メンバ
登録日: 2008-09-25

Re: 起動ディスクの作成用スクリプト

hir0さん ありがとうございました。
勉強不足で確認させてください。もし下記に間違いがありましたら ご指摘ください。

hir0さん による投稿:

Cドライブにgrldrを置く。
boot.iniに c:\grldr="******" を記述。
menu.lstを置く。

の grldrとmenu.lstのファイルは、grub4dos-0.4.4.zipを解凍して フォルダの中にあるものを 移動する。
boot.iniをメモ帳で開き 一番下の行にc:\grldr="UBUNTU9.04"と入力して 上書き保存する。

hir0さん による投稿:

USBの起動確認後、USBを抜いて起動するとboot可能なディスクを見つけられないという。
もちろん最優先のHDDの事だけど。

上記の質問です。
1・選択画面でWINを選択すれば起動する。
2・選択画面でUBUNTU9.04を選択すると 上記の現象が起こる。
3・選択画面が表示されることなく、 上記の現象が起こる。
すみません 今までの経験上 デュアルブートの操作は、理解した上で実行したいと思いますので・・・
初心者レベルの質問なのですが よろしくお願いします。

オフライン

 

#18 2009-06-08 20:00:35

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

Re: 起動ディスクの作成用スクリプト

の grldrとmenu.lstのファイルは、grub4dos-0.4.4.zipを解凍して フォルダの中にあるものを 移動する。
boot.iniをメモ帳で開き 一番下の行にc:\grldr="UBUNTU9.04"と入力して 上書き保存する。

menu.lstは新規に書く必要が有ります。圧縮フォルダに有る物はサンプルです(まだreadme.txtを見ていないですが)
-----------------------------------------------
#16をそのまま貼り付けて下さい。変更する箇所は

color の行の先頭に半角で#を付けてコメントアウトすると色の設定がノーマルの白黒に。

title  表示される文字なので好きな文字を

uuid  使用するUSB-HDDのUUIDです。

kernel 、initrd はUSB-HDDで使用しているカーネル名とUUIDを。

-----------------------------------------------
未確認ですが文字コードの違いによる特殊記号(改行コードなど)が含まれる場合が有るかもしれません。
私の手順ではUbuntuからmenu.lstとgrldrをCフォルダに移動、Windowsを起動してboot.iniに1行追加。
再起動させると何やら設定の変更が始まって「終わると電源が自動で切れるのでそのまま待て」とのメッセージが。
で再起動後、新しい項目を指定するとgrubが立ち上がりさらにUbuntuが起動しました。


次の質問ですが「3」です。
BIOSが起動した時点でBoot可能なディスクを見つけられないとの事。
この問題はネット上では見かけないので特殊な組み合わせか一過性のトラブルかも知れません。

操作的な事と言えば、USBから起動したUbuntuから再起動、完全にディスプレイがブラックアウトして新規にBIOSが立ち上がった位のタイミングでUSBメモリを抜くです。
書いていて気が付きました、USBを抜き差しするとBIOSの方でデバイスのチェックが行われるので起動のタイミングで行った行為がエラーを招いた可能性が大です。

glub4dosは削除して通常(私の)起動設定に戻した後、PCは起動させたままなので現象の再現と戻した設定の動作確認は行っていません。

オフライン

 

#19 2009-06-15 15:07:59

kaznon
メンバ
登録日: 2008-09-25

Re: 起動ディスクの作成用スクリプト

動作報告として
Ubuntu Jaunty (9.04)ベースの Linux Mint7をポータブルUSBーHDDにインストールして
USB起動をサポートされてない パソコン2台 と USB起動をサポートされている パソコン1台 で このスレッドのブートCDを使用し 起動を試みました。
全て成功。起動しました。

オフライン

 

Board footer

Powered by FluxBB