お知らせ

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

#1 2007-05-19 11:54:28

moz
メンバ
登録日: 2007-01-25

7.04 Ubuntu on USB HDD --- ブートCDの作成法

.       :cool:     :cool:     :cool:     :cool:


       すでに 「ubuntu-ja-7.10-desktop」 が発表されています。

      Ubuntu Tips / USBデバイスへのインストール / の 「 USB-Hdd上のUbuntu対する「ブートCD」を作るには 」

      を御覧下さい。



        :cool:     :cool:     :cool:     :cool:


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

 USB HDDに「 Ubuntu 7.04 」をインストールして、それを起動する確実な「ブートCD」の作成法を示します。

  BIOSがUSBからの起動に対応していないPCでは勿論ですが、対応しているPCでも、BIOSを設定しなおす
手間や起動時の手間を考えると、非常に役に立つと考えられます。

  以下の方法はスクリプト化して簡単であり、しかも現在のところ、不具合は見つかっておりません。

   (A) Ubuntu on USB HDD が起動できる場合:

   (B) Ubuntu on USB HDD が起動できない場合:   

の2つに分けて書きますが、
(A)では、KernelのupdateやOSのversion-upなど、どんな場合でも、インストールされている最新のKernelに
対する「ブートCD」が自動的に作成されます。


 ###  ここで作成する「ブートCD」は1台のPCでしか使えませんが、「7.04 Ubuntu」をUSB Flash と同様に
    USB HDD にinstallすれば、多くのPCに接続し、「7.04 Ubuntu on USB Flash --- ブートCDの作成法」
    の 「ブートCD」で起動して使うことができます。 例えば、余っている内蔵型の HDD が携帯-Ubuntuに
    変身します。 関心のおありになる方は、
     「7.04 Ubuntu on USB HDD --- 複数のPCで使う方法」      
    を御覧下さい。


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


     (A) Ubuntu on USB HDD が起動できる場合:

     (インストールされている最新のKernelに対する「ブートCD」が自動的に作成されます)


1.  Ubuntu on USB HDDを起動させます。


2.  ホームディレクトリ /home/hoge にファイルmenu.lstを作り、下の15行を書き込み保存します。
                         ( hoge はユーザー名 )
   
  $ gedit menu.lst

default        0
timeout        10
color cyan/blue white/blue

title          Ubuntu 7.04   ( knv )
root           (cd)
kernel         /boot/vmlinuz root=UUID=dd   ro quiet splash
initrd         /boot/initrd.gz
boot         

title          Ubuntu Recovery Mode   ( knv )
root           (cd)
kernel         /boot/vmlinuz root=UUID=dd   ro single
initrd         /boot/initrd.gz
boot


3.  /home/hoge に スクリプトファイル  boot-hdd.sh を作成し、以下の12行を書き込み保存します。

      $ gedit boot-hdd.sh

#!/bin/sh

mkdir hdd-grub
mkdir -p hdd-grub/boot/grub
cp /usr/lib/grub/i386-pc/stage2_eltorito hdd-grub/boot/grub
kv=`ls /boot | grep vmlinuz | cut -d- -f2,3 | tail -n 1`
uid=`sudo vol_id --export /dev/$1 | grep UUID | cut -c12-`
sed -e s/dd/$uid/ -e s/knv/$kv/ menu.lst > hdd-grub/boot/grub/menu.lst
cp /boot/vmlinuz-$kv-generic hdd-grub/boot/vmlinuz
cp /boot/initrd.img-$kv-generic hdd-grub/boot/initrd.gz
sudo mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o hdd-boot.iso hdd-grub
rm -rf hdd-grub menu.lst


4.  ファイル /etc/fstab を開き、rootパーティションの接続デバイス /dev/sd*@ を得ます。
     ( /dev/sd*@ は /dev/sda1 とか /dev/sdb2 とかです。)

      $ gedit /etc/fstab &   


5.  スクリプトファイル boot-hdd.sh に実行権を与え、実行します。
  この時、4.で得たrootパーティションの接続デバイスの sd*@ を、引数として
    半角空白の後に付け加えます。

      $ chmod u+x boot-hdd.sh
      $ sh boot-hdd.sh sd*@


6.  /home/hoge に出来ている hdd-boot.iso をCD-R(W)に焼いてできあがりです。


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


     (B)  Ubuntu on USB HDD が起動できない場合:


1.  USB-HDDに「Ubuntu 7.04」をインストールした時に使ったPCを、同じ Live-CD で起動します。


2.  /home/ubuntu にファイルmenu.lstを作り、下の15行を書き込み保存します。
   
  $ gedit menu.lst

default        0
timeout        10
color cyan/blue white/blue

title          Ubuntu 7.04   ( knv )
root           (cd)
kernel         /boot/vmlinuz root=UUID=dd   ro quiet splash
initrd         /boot/initrd.gz
boot         

title          Ubuntu Recovery Mode   ( knv )
root           (cd)
kernel         /boot/vmlinuz root=UUID=dd   ro single
initrd         /boot/initrd.gz
boot


3.  /home/ubuntu に スクリプトファイル  boot-hdd.sh を作成し、以下の12行を書き込み保存します。

      $ gedit boot-hdd.sh

#!/bin/sh

mkdir hdd-grub
mkdir -p hdd-grub/boot/grub
cp /usr/lib/grub/i386-pc/stage2_eltorito hdd-grub/boot/grub
kv=`uname -r | cut -d- -f1,2`
uid=`sudo vol_id --export /dev/$1 | grep UUID | cut -c12-`
sed -e s/dd/$uid/ -e s/knv/$kv/ menu.lst > hdd-grub/boot/grub/menu.lst
cp /cdrom/casper/vmlinuz hdd-grub/boot
cp /cdrom/casper/initrd.gz hdd-grub/boot
sudo mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o hdd-boot.iso hdd-grub
rm -rf hdd-grub menu.lst


4.  USB-HDD をPCに接続し、rootパーティションの接続デバイス /dev/sd*@ を得ます。
   (  $ dmesg | less 。  /dev/sd*@ は /dev/sda1 とか /dev/sdb2 とかです。
        接続デバイスが分かっていても、USB-HDD をPCに接続したまま 次の5.を実行します。)


5.  スクリプトファイル  boot-hdd.sh に実行権を与え、実行します。
  この時、4.で得たrootパーティションの接続デバイスの sd*@ を、引数として
    半角空白の後に付け加えます。

      $ chmod u+x boot-hdd.sh
      $ sh boot-hdd.sh sd*@


6.  /home/ubuntu に出来ている hdd-boot.iso をCD-R(W)に焼いてできあがりです。

最後の編集者: moz (2008-01-31 13:26:47)

オフライン

 

#2 2007-05-21 19:04:13

moz
メンバ
登録日: 2007-01-25

Re: 7.04 Ubuntu on USB HDD --- ブートCDの作成法

   mozです。大きなミスがありました。
  
  <2>. BIOSがUSBからの起動に対応していなくて,Ubuntu on USB HDD が起動できない場合:
  に於いて、4.でUUIDを得ておけば、9.以下は不要となり、作業が半減できます。

  長い作業にお付き合い下さった方々、作業が余りに多いので諦められた方々に、心より
  お詫び申し上げます。

  諦められた方には、改めて作業に取り掛かって戴きたく存じます。

  なお、本文は書き改めさせて戴きました。

オフライン

 

#3 2007-06-17 21:34:01

moz
メンバ
登録日: 2007-01-25

Re: 7.04 Ubuntu on USB HDD --- ブートCDの作成法

mozです。

 kumanoyuya様より、「cuiコマンドのスクリプト化」の御要望を戴きました。

 早速、「スクリプト版」を作成してみました。
 幾分簡単になったと思います。

最後の編集者: moz (2007-06-17 21:34:26)

オフライン

 

#4 2007-06-22 16:13:31

dr_sue
新しいメンバ
登録日: 2007-05-24

Re: 7.04 Ubuntu on USB HDD --- ブートCDの作成法

sueといいます。
お世話になっております。

ここでUSB-HDDへのインストール法を見つけて
これは持ち運びには具合がよさそうだということで
試してみましたがどうにもうまくいきません。

40GBのUSB-HDDにインストールして
ブートCDも作って持ち歩こうという算段です。

1)USB-HDDへのインストール時に
「bootパーティションをFAT16にフォーマットします」
といった表示が出ますが、これでいいのでしょうか。
上記手順書には、bootパーティションであるsda3のsystemは
linuxとなっています。
試しに、このbootパーティションをあらかじめext2でフォーマットしておいても
インストール時にFAT16にされてしまいます。
#ただし、こうしてできあがったUSB-HDDからブートしてみると
#きちんと立ち上がってきます

2)しかし、boot用CDを手順通りに作成しても、それを使ってブートすることができません。
ブートパーティションのUUIDを取得すると
手順書でかかれているような長いIDではなく
たとえば「4656-AAF3」といったような4桁-4桁の短いものが出てきます。
どうやらこれはFAT16のパーティションのもののようで
共有用のパーティション(sda1)も同様のUUIDとなります。
ちなみに、このインストールしたUSB-HDDで
sda2やsda4(swapおよびデータ用のパーティション)では
長いUUIDが出てきます。

普段、仕事ではwinをメインで使っており、linuxはほぼ初心者です。
必要な情報は教えていただければ調べてアップいたします。

PC: SONY VAIO Type-S (S71PB)
USB-HDD: Logitec LHD-PBD40U2BU

お手数をおかけいたしますが
御教授のほどよろしくお願いいたします。


---
sue

オフライン

 

#5 2007-06-22 22:24:01

kumanoyuya
メンバ
From: 熊野
登録日: 2007-05-27

Re: 7.04 Ubuntu on USB HDD --- ブートCDの作成法

dr_sue による投稿:

sueといいます。
お世話になっております。


1)USB-HDDへのインストール時に
「bootパーティションをFAT16にフォーマットします」
といった表示が出ますが、これでいいのでしょうか。
上記手順書には、bootパーティションであるsda3のsystemは
linuxとなっています。
試しに、このbootパーティションをあらかじめext2でフォーマットしておいても
インストール時にFAT16にされてしまいます。
#ただし、こうしてできあがったUSB-HDDからブートしてみると
#きちんと立ち上がってきます

 せっかくext2でフォーマットしたのに、なぜFAT16になるのかですが、日本語パッケージにある次のインストーラがやるようです。

   /cdrom/tools/install_usb.sh  (シェルスクリプトなのでgeditなどで中身が見れます)

 私もこの処理には驚かされました。「syslinux」を使っている関係だと予測しているのですが、FAT16ですとWindowsから書き換えられたり、まるごと削除なんて危険もありで、運用面で心配です。

 「isolinux」をつかえなかったのかしら? こちらなら、ext2のままで、でログイン処理などもやれると思うのですが・・・
 開発チームの考えを伺いたいところですね。

オフライン

 

#6 2007-06-22 22:36:50

moz
メンバ
登録日: 2007-01-25

Re: 7.04 Ubuntu on USB HDD --- ブートCDの作成法

sue 様

  折角「 ブートCD 」を作成されても起動できないとのこと、説明不足の責任は私にあり、お詫びしなければなりません。


 「7.04 Ubuntu」 を USB HDD にインストールする方法は 2つあります。

      1.   IDE HDD にインストールする場合と同じように、「Ubuntu 7.04 日本語ローカライズ版Desktop CD」
      をCDに焼き、それでPCを起動し、Desktop上の 「インストール」 アイコンをクリックして、 USB HDD に
           インストールする方法です。従来の方法といってもよいでしょう。
     これは約700MBに圧縮された 「Ubuntu 7.04」 を解凍・展開することによってインストールするわけで、
      ルートパーティションに少なくとも2GB以上の容量が必要です。

      2.  「7.04 Ubuntu on USB HDD --- 複数のPCで使う方法」
            http://forum.ubuntulinux.jp/viewtopic.php?id=370
      に示した方法で、CD上の約700MBに圧縮された 「Ubuntu 7.04」 を解凍・展開することなしに、
      USB HDD に単に Copy & Paste してインストールする新しい方法です。
     Live CD をUSB HDD に置き換えただけで、Live CD と同様に圧縮された多数のファイルをメモリ上で
      高速展開することで、OSとしてうまく機能するようになっているのです。
       そして、これがあなたの使われた方法です。


 ところが、この 「7.04 Ubuntu on USB HDD --- ブートCDの作成法」 は、1. のように従来の方法でインストール
した場合の 「ブートCDの作成法」 ですから、起動しないのは当然なのです。


 あなたがインストールの指針とされた 「7.04 Ubuntu on USB HDD --- 複数のPCで使う方法」 には、
上から4行めから、

     USB HDD へのinstall法は、USB Flashの場合と殆ど同じなので、従って
        「7.04 Ubuntu on USB Flash --- ブートCDの作成法」で作成した「ブートCD」で、
         Ubuntu on USB Flash と同様に起動できます。

とあり、また、下の方で

   6.  「7.04 Ubuntu on USB Flash --- ブートCDの作成法」で作成した「ブートCD」
       を使うか、Bios設定を変更して、Ubuntu on USB Flashと同様に起動します。

とあり、7.04 Ubuntu on USB Flash であって、7.04 Ubuntu on USB HDD ではないことをご注意下さい。


 2. の方法でインストールされたあなたは、「7.04 Ubuntu on USB Flash --- ブートCDの作成法」 に従って
「ブートCD」 を作成されるべきでした。こちらの方法は、恐ろしく簡単になっています。

 
 では、ご健闘を祈ります。


追伸 :「7.04 Ubuntu on USB Flash --- ブートCDの作成法」で作成される「ブートCD」上にある
    Kernel は Ubuntu の本体の入ったフォルダ casper を求めて、PC中を探し回るのです。
    目印はフォルダ casper ですから、UUIDは必要ありません。
    



             
     

最後の編集者: moz (2007-06-23 17:04:47)

オフライン

 

#7 2007-06-22 23:29:18

moz
メンバ
登録日: 2007-01-25

Re: 7.04 Ubuntu on USB HDD --- ブートCDの作成法

「bootパーティションをFAT16にフォーマットする」理由に付いてお尋ねですが、答えを申し上げる前に
次のような問に答えるべく勉強なさってみてください。

  1.  USB Flash や USB HDD から 「ブートCD」 を使わないで起動するにはどうすればいいか?

  2.  どのような Boot Loader をつかえばいいのか?

    syslinux, isolinux, grub, lilo など、色々考えてみてください。

  3.  指摘のあった isolinux は何のために開発されたのか?

  4.  適当な Boot Loader が見付かったとして、そのとき 「起動パーティション」 はどのような
     ファイルシステムでなければならないか?


    では、ご健闘を祈ります。

最後の編集者: moz (2007-06-22 23:30:28)

オフライン

 

#8 2007-06-23 11:14:33

dr_sue
新しいメンバ
登録日: 2007-05-24

Re: 7.04 Ubuntu on USB HDD --- ブートCDの作成法

sueです。
のreplyありがとうございます。
いろんな意味で大変勉強になりました。

> ところが、この 「7.04 Ubuntu on USB HDD --- ブートCDの作成法」 は
> 1. のように従来の方法でインストールした場合の 「ブートCDの作成法」 ですから、
> 起動しないのは当然なのです。

自分で把握している断片的な状況を総合的に判断しても
これに思いついて(今度はそのつもりで)丁寧にインストラクションを読み直す
ということをすれば自分で解決できてますし、できるべきですね。
ご指摘いただいて「そうだよなにしてんだよまったく」と痛く反省いたしました。

現状ではとりあえず見よう見まねで使ってみている
状況にあることを痛感いたしました。ご教授頂いた通り、ブートシーケンスも
各ブートローダーの特徴や働きも「知らない」というのが現状です。
今回つまずいたところをいいきっかけとして、一度きちんと勉強して
linuxで当然必要となる知識、ひいては考え方をもっと身につける努力をする
ということが必要ですね。
少なくとも、自分で解決できる所は自分でできるように。

いずれにせよ、インストールもう一度試してみます。
#USB-HDDがせっかく40Gもあるので、そこにきちんと展開・インストールしようと
#思います。
またご報告いたします。


moz様、kumanoyuya様、大変勉強になりました。ありがとうございました。
またお世話になるかと思います。よろしくお願いいたします。

---
sue

オフライン

 

#9 2007-06-25 09:30:03

moz
メンバ
登録日: 2007-01-25

Re: 7.04 Ubuntu on USB HDD --- ブートCDの作成法

これまでの (A), (B), (C) に分類する書き方によって誤解や混乱を招き、皆様方に大変御迷惑をおかけ致しました。

 今回、すべてスクリプト化したものだけとし、

   (A) Ubuntu on USB HDD が起動できる場合:
   (B) Ubuntu on USB HDD が起動できない場合: 

の2分類として、簡単で分かり易いものに一新致しました。

(A)ではKernelのupdateやOSのversion-upなどどんな場合でも、とにかく起動できさえすれば、インストール
されている最新のKernelに対する「ブートCD」が自動的に作成されるように改良しました。

これまでは、updateしたkernelに対応する「ブートCD」を作成することができず、新しいkernelを使うことが
できませんでした。 「7.04 Ubuntu」でもkernelのupdateがありましたので、早速新しい「ブートCD」を作成して
みて下さい。
 

 これらは CUI によるものですが、WindowsのようなGUI による記述をご希望であれば対応しますので、
御連絡下さい。

最後の編集者: moz (2007-06-25 12:08:16)

オフライン

 

#10 2007-07-30 19:13:16

moz
メンバ
登録日: 2007-01-25

Re: 7.04 Ubuntu on USB HDD --- ブートCDの作成法

「BiosがUSBデバイスからの起動に対応しているPC」で、尚且つ「フロッピーディスクドライブ(FDD)」が
 ある場合に、「ブートフロッピー」によるUSB-HDDの簡単な起動法を示します。
 
 #1. すでに Ubuntu on USB HDD をインストールしているなら、
      $ sudo /usr/sbin/grub-install /dev/fd0
     として、grubをフロッピーディスクにインストールします。
     予めフロッピーディスクをフォーマットしておく必要はなく、自動的にフォーマットされ、
     grubが書き込まれます。   

 #2. これから Ubuntu on USB HDD をインストールしようとするなら、インストールの過程でgrubを
     フロッピーディスクにインストールし、再起動後grubを起動パーティションに入れてもいいし、
     順序を逆にしても結構です。

 いずれにしても、このようなPCでは、このようにして作られた「ブートフロッピー」で起動することが
できます。

 しかも、Biosの設定を変更する必要はなく、kernelをupdateしても作成し直す必要がありません。

最後の編集者: moz (2007-08-05 17:50:06)

オフライン

 

Board footer

Powered by FluxBB