お知らせ

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

#1 2008-05-01 09:34:45

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

Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

「 Ubuntu 8.04 」 をC&P法でUSBメモリにインストールし、それを起動する「ブートCD」の簡単な作成法です。

今回は、
  (1). パッケージ「ms-sys」が「Ubuntu 8.04」に含まれていないこと、
  (2). 「データパーティション」にデータを保存するためにinitrd.gzを作成し直す必要があること、
  (3). シェルスクリプト「install_usb.sh」が用意されていないこと
などにより、2つのシェルスクリプトをC&Pし実行することになります。

しかし、作業は極めて簡単で30分程度で済みます。
USBメモリから直接起動することも、「 ブートCD 」を使って起動することもできます。

≪ GUI版 ≫ : 初心者に優しい「GUI版」がoryaaaaaさんにより開発・提供されました。
                      「パーティション分割」を含めて、全てGUIで操作できます。
                     シミュレーション用の動画まで作成して頂きました。
                     下の投稿記事 「#2」 を御覧下さい。
                     


1. USBメモリのパーティション分割

1. 「 Ubuntu 8.04 日本語ローカライズ版 Desktop CD 」 をCDに焼き、それでPCを起動する。

2. USBメモリをPCに接続し、その接続デバイス/dev/sd*をdmesgコマンドなどで調べる。
    その上に現存するパーティションの「アイコン」がDesktop上に現れたら、右クリックしてアンマウントする。

3. 「fdiskコマンド」や「GParted」で、USBメモリ上に2つのパーティションを作成する。
    下に1例を示す。ファイルシステムはインストール時に自動的に変更されるので何でもよい。

      接続デバイス          名   称            サイズ     ファイルシステム  
       /dev/sd*1      起動パーティション        720Mb         ext2
       /dev/sd*2      データパーティション     残り全部          ext2

         ( 「GParted」 は 「システム」 --> 「システム管理」 --> 「パーティションエディタ」 )


2. 必要なパッケージのインストールと新しいinitrd.gzの作成

1. /home/ubuntu に スクリプトファイル sys_init.sh を作成し、以下の45行(「exit 0」まで)を書き込んで保存する。

      $ gedit sys_init.sh

#! /bin/sh

abort() {
  [ -n "$1" ] && echo "$1"
  exit 1
}

if [ ! -f /usr/bin/mtools ] || [ ! -f /usr/bin/ms-sys ] || [ ! -f /usr/bin/syslinux ]; then
  echo "必要なパッケージをダウンロードします..."
  ur1="http://lug.mtu.edu/ubuntu/pool"
  ur2="http://ubuntu.secs.oakland.edu/pool"
  mtl="main/m/mtools/mtools_3.9.11-0ubuntu1_i386.deb"
  mss="universe/m/ms-sys/ms-sys_2.1.0-1_i386.deb"
  sys="main/s/syslinux/syslinux_3.53-1ubuntu2_i386.deb"
  wget $ur1/$mtl || wget $ur2/$mtl || abort "失敗しました。インターネット接続を有効にしてから再実行してください。"
  wget $ur1/$mss || wget $ur2/$mss || abort "失敗しました。インターネット接続を有効にしてから再実行してください。"
  wget $ur1/$sys || wget $ur2/$sys || abort "失敗しました。インターネット接続を有効にしてから再実行してください。"
fi

if [ -f ms-sys*.deb ] && [ -f syslinux*.deb ] && [ -f mtools*.deb ]; then
  echo "必要なパッケージをインストールします。\n"
  sudo dpkg -i *.deb || abort "インストールに失敗しました。"
fi
echo "\nインストールが完了しました。\n"

echo "新しい initrd.gz を作成します。\n"
mkdir init || abort "失敗しました。"
cd init || abort "失敗しました。"

if [ -f /cdrom/casper/initrd.gz ]; then
  sudo gzip -dc /cdrom/casper/initrd.gz | cpio -i || abort "失敗しました。"
  sudo sync
  sudo sed -i 's/,mode=755//' scripts/casper || abort "失敗しました。"
  sudo sync
  sudo find . | cpio  -o -H newc | gzip > ../initrd.gz || abort "失敗しました。"
  sudo sync
fi

cd .. || abort "失敗しました。"
echo "\n新しい initrd.gz が作成できました。\n"

sudo rm -rf *.deb init || abort "失敗しました。"
echo "\nすべての処理が正常に終了しました。\n"

exit 0


2. スクリプトファイル sys_init.sh を実行する。

      $ sh ./sys_init.sh

3. /home/ubuntu に新しいinitrd.gzがあることを確認する。


3. Ubuntuのインストールと「ブートCD」イメージの作成

1. /home/ubuntu に スクリプトファイル install_usb.sh を作成し、以下の189行(「exit 0」まで)を書き込んで保存する。

      $ gedit install_usb.sh

#!/bin/sh
#
#  Ubuntu Desktop CD USB Drive Installer
#  (C) 2006-2007 Jun Kobayashi  2008 modified by moz


[ -n "$DEBUG" ] && set -x

DEVICE_FILE=
PARTITION=
PARTITION2=
MOUNT_POINT="mnt"

yesno() {
  [ -n "$1" ] && echo -n "$1"
  while read ANS; do
    if [ x"$ANS" = xyes ] || [ x"$ANS" = xy ]; then
      return 0
    elif [ x"$ANS" = xno ] || [ x"$ANS" = xn ]; then 
      return 1
    else
      echo -n "Answer 'yes' or 'no': "
    fi
  done
  return 1
}

abort() {
  [ -n "$1" ] && echo "$1"
  [ -n $MOUNT_POINT ] && umount $MOUNT_POINT > /dev/null 2>&1
  exit 1
}


#
# Main Routine
#

if [ `whoami` != "root" ]; then
  sudo $0 $@
  exit
fi

if [ $# -lt 1 ]; then
  echo "利用法: $0 <USBメモリのデバイスファイル> [<起動パーティション番号>] [<データパーティション番号>]"
#  echo "利用法: $0 <USBメモリのデバイスファイル> [<起動パーティション番号>]"
  echo "USBメモリのデバイスファイルは、dmesgコマンドなどで確認してください。"
  echo "起動パーティション番号を省略すると1が使用されます。"
  echo "データパーティション番号を省略すると作成されません。"
  exit 1
fi

cd `dirname $0`

DEVICE_FILE=$1
INDEX=$2
INDEX2=$3
[ -z INDEX ] && INDEX=1

if [ ! -e ${DEVICE_FILE} ]; then
  echo "${DEVICE_FILE} doesn't exist."
  exit 1
fi
if [ ! -b ${DEVICE_FILE} ]; then
  echo "${DEVICE_FILE} isn't block special file."
  exit 1
fi

PARTITION=${DEVICE_FILE}${INDEX}
grep -q "$PARTITION " /etc/mtab && abort "${PARTITION} がマウントされています。アンマウントしてから実行して下さい。"

if [ -n $INDEX2 ]; then
  PARTITION2=${DEVICE_FILE}${INDEX2}
  grep -q "$PARTITION2 " /etc/mtab && abort "${PARTITION2} がマウントされています。アンマウントしてから実行して下さい。"
fi

DEVICE_DIR=/sys/block/`basename ${DEVICE_FILE}`/device
VENDOR="(不明)"
MODEL="(不明)"
if [ -f ${DEVICE_DIR}/vendor ]; then
  VENDOR=`cat ${DEVICE_DIR}/vendor`
fi
if [ -f ${DEVICE_DIR}/model ]; then
  MODEL=`cat ${DEVICE_DIR}/model`
fi

echo "!!!注意!!!"
echo "間違ったデバイスを指定した場合、ハードディスクの内容を"
echo "壊してしまう可能性があります。内容を消去して良い"
echo "USBメモリが指定されていることを確認してください。"
echo ""
echo "[選択されたデバイスの情報]"
echo "    デバイスファイル: $DEVICE_FILE"
echo "              ベンダ: $VENDOR"
echo "              モデル: $MODEL"
echo "  起動パーティション: $PARTITION"
[ -n "$PARTITION2" ] && echo "データパーティション: $PARTITION2"
echo ""

yesno "インストールを開始しますか?(yes/no) " || abort

echo "${PARTITION}上のデータは全て失われます。"
yesno "処理を続行してよろしいですか?(yes/no) " || abort
echo ""

echo "${PARTITION}にブートフラグを設定します。"
sfdisk $DEVICE_FILE -A$INDEX || abort "失敗しました。"
echo "完了しました。"
echo ""

echo "${PARTITION}のファイルシステムタイプをFAT16に設定します。"
sfdisk -c $DEVICE_FILE $INDEX 6 || abort "失敗しました。"
echo "完了しました。"
echo ""

echo "${PARTITION}にファイルシステムを作成します。"
mkdosfs $PARTITION || abort "失敗しました。"
sync
sleep 1
echo "完了しました。"
echo ""

if [ -n "$PARTITION2" ]; then
  echo "${PARTITION2}上のデータは全て失われます。"
  yesno "処理を続行してよろしいですか?(yes/no) " || abort
  echo ""

  echo "${PARTITION2}にファイルシステムを作成します。"
  mkfs.ext2 -b 4096 -L casper-rw ${PARTITION2} || abort "失敗しました。"
  sync
  sleep 1
  echo "完了しました。"
  echo ""
fi

echo "${DEVICE_FILE}にMBRをインストールします。"
ms-sys -f -s $DEVICE_FILE || abort "失敗しました。"
sleep 1
echo "完了しました。"
echo ""

echo "syslinux をインストールします。"
syslinux $PARTITION
sleep 1
echo "完了しました。"
echo ""

mkdir mnt || abort "失敗しました。"
echo "$PARTITION を `pwd`/${MOUNT_POINT} にマウントしています。"
mount -t vfat $PARTITION $MOUNT_POINT || abort "失敗しました。"
sync
sleep 1
echo "完了しました。"

echo "\nファイルをコピーしています。(時間がかかります)"

cp -rf /cdrom/.disk /cdrom/install /cdrom/isolinux/* /cdrom/md5sum.txt /cdrom/preseed /cdrom/casper/vmlinuz ./*.gz $MOUNT_POINT/ || abort "失敗しました。"
sync

mkdir $MOUNT_POINT/casper/ || abort "失敗しました。"
cp -f /cdrom/casper/filesystem.* $MOUNT_POINT/casper/ || abort "失敗しました。"
sync

cp -f /cdrom/isolinux/isolinux.cfg $MOUNT_POINT/syslinux.cfg || abort "失敗しました。"
sync

if [ -n "$PARTITION2" ]; then
  sed -i -e '8,23d' -e 's/\/cdrom\///' -e 's/Try Ubuntu without any change to your computer/Start Ubuntu on USB Memory/' -e 's/\/casper\///' -e 's/300/100/' -e 's/utc=no --/utc=no persistent --/' $MOUNT_POINT/syslinux.cfg
  sync
fi
echo "完了しました。"

echo "\n「ブートCD」のイメージを作成します。"
mkdir bootcd || abort "失敗しました。"
cp -rf /cdrom/.disk /cdrom/install /cdrom/isolinux/* /cdrom/md5sum.txt /cdrom/preseed /cdrom/casper/vmlinuz ./*.gz bootcd/ || abort "失敗しました。"
cp -f $MOUNT_POINT/syslinux.cfg bootcd/isolinux.cfg || abort "失敗しました。"
sync
sudo genisoimage -R -b isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -o bootcd.iso bootcd || abort "失敗しました。"

echo "\n「ブートCD」のイメージができました。"

echo "`pwd`/${MOUNT_POINT} をアンマウントしています。"
umount $MOUNT_POINT || abort "失敗しました。"
rm -rf mnt bootcd initrd.gz || abort "失敗しました。"
echo "完了しました。"

echo "\nすべての処理が正常に終了しました。\n"

exit 0


2. 次のコマンドでインストールし、「ブートCD」イメージを作成する。

      $ sudo sh ./install_usb.sh /dev/sd* 1 2

3. /home/ubuntu に出来ている bootcd.iso を、CD-R(W) に焼く。


   ***                                                    ***

  ≪ ファイアウォールを有効にする ≫

「 Ubuntu 8.04 」 に入っている 「ufw (Uncomplicated Firewall)」 を起動することで、簡単な Firewall を有効にします。
次のコマンドを実行して2行目の応答があれば起動され、次回からUbuntu起動時に自動的に有効になります。  

      $ sudo ufw enable
      Firewall started and enabled on system startup

( 「データパーティション」へのデータ保存機能に関して、セキュリティに未解決の問題があります。ご注意下さい。)

   ***                                                    ***

また、その他の不具合がありましたら、是非お知らせ下さい。
.

最後の編集者: moz (2009-04-28 01:15:59)

オフライン

 

#2 2008-05-02 22:43:42

oryaaaaa
メンバ
From: Aichi, Japan
登録日: 2006-10-31

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

マウス操作だけで作れるUSBメモリのUbuntu

私の家には正常にUSBブートできるパソコンが無い。人柱バージョンである
[GUI版]アプリケーションです。最後に実行するmozスクリプトは正常に動作します。

動作の仕組み
1) dmesg | grep sector で引っかかるドライブをリストアップする
2)ユーザーにどれか選択させる
3)消えて良いんだな?と確認させる
4) gparted をドライブ指定で起動する
5)ユーザーに領域確保をやってもらう
6)mozスクリプトを実行する
7)左上の表示に「完了」と出るまでひたすら待つ
8)「完了」すると、スクリプトの実施内容が表示される
9)最後に「Thanks」ボタンをクリック

注意事項
ファイルマネージャーは閉じておく。デスクトップ上でアンマウントをかける。
/dev/sd* 1 2 ....このパターンのみでしか動作しない

メリット
1、キーボード不要
2、10分でセットアップ完了(電源ONから完成まで)
3、GBでサイズ容量を表示するので、初心者に優しい

デメリット
1、想定外のドライブ構成だと恐ろしい事態になる可能性
2、恐ろしい事態になっても、ノークレーム
3、特定のCD起動のみ考慮(Ubuntu8.04JPN-LiveCD)

使い方
(Ubuntu8.04JPN-LiveCD)を起動する
http://hiro.coolverse.jp/ubuntu/
へアクセスする
書庫マネージャー経由でオトス!
展開場所はデスクトップ Desktop へ

不安ならリンク先の動画をみてシミュレーションしよう!

最後の編集者: oryaaaaa (2008-05-03 20:24:44)

オフライン

 

#3 2008-05-03 11:59:11

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

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

oryaaaaaさん、初心者に優しい「GUI版」を開発・提供して下さりありがとうございます。

興味津津で早速使わせて頂きましたが、インストールが楽しくあっけなくできてしまいました。

気付いたことを少し:

(1) 使用容量は「665MB」程度ですので、「起動パーティション」の容量は「700」で充分です。
               ( 756 --> 700 )

(2) 「領域作成」パネルで、「編集のすべて適用」 --> 「全ての操作を適用」に変更してください。

(3) 手の掛かることかもしれませんが、「スクリプト実行中」の画面で、端末のようにリアルタイムで
     スクリプトの実施内容が表示される方が臨場感もあり、Ubuntuの面白さをアピールできます。

お暇な折にでも改変をお願いできればと存じます。
.

最後の編集者: moz (2008-05-03 17:06:59)

オフライン

 

#4 2008-05-03 16:30:24

oryaaaaa
メンバ
From: Aichi, Japan
登録日: 2006-10-31

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

mozさん、スクリプト作成ありがとうございます、希望された仕様を適用させました。

*バグフィックス
HDDなくUSBメモリのみで起動したとき使えない
アンマウントできない等のメッセージがでる

オフライン

 

#5 2008-05-03 23:28:17

macacada
新しいメンバ
登録日: 2008-04-28

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

初心者に優しい「GUI版」を使って操作しましたがうまく進みませんでしたのでご報告します。
手順は以下の通りです。

(1) ビデオをみる。^^;
(2) となりのPCでビデオを見ながら、対象PCで操作(Ubuntu8.04 JPN CDで起動)
(3) デスクトップ上の"usbmake"を実行
(4) 「対象はどれ?」をクリック
(5) ★しばらくすると、"usbmake"のウィンドウ全体がグレー色になってそのままとなる。
  →デバイス選択ウィンドウは表示されません。
(6) 断念

ビデオでは(5)のところでウィンドウが表示されるんですが。。。
何か確認すべきものがありますでしょうか?(/var/log/messagesには何もなし)
ちなみに、USBメモリは、"sdc"で認識されてました。

オフライン

 

#6 2008-05-04 03:54:09

oryaaaaa
メンバ
From: Aichi, Japan
登録日: 2006-10-31

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

報告ありがとうございます

対策を誤るとHDDが消去される可能性のある箇所だから、仕様ということで
ご理解願います。グレーで止まってしまったら、あきらめて下さい。あらゆる
想定を考えるだけで10万の対価ないとやってられないレベルの不具合です。

追記
ちょっとした対策を施しました。これでもダメならお手上げです。

最後の編集者: oryaaaaa (2008-05-07 16:13:37)

オフライン

 

#7 2008-05-04 11:07:41

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

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

oryaaaaaさん、御返事が遅れてすみません。

小生の勝手なお願いを適えて下さり本当にありがとうございます。

楽しい 「動画」 拝見しました。 これを見れば、初心者の方も楽ちんですね。

「領域作成」 パネルで 「 GParted 」 が 「 goarted 」 となっています。
初心者の方には誤解されるかもしれません。

最後の編集者: moz (2008-05-04 13:24:25)

オフライン

 

#8 2008-05-04 22:37:43

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

オフライン

 

#9 2008-05-05 00:51:20

oryaaaaa
メンバ
From: Aichi, Japan
登録日: 2006-10-31

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

moz による投稿:

「領域作成」 パネルで 「 GParted 」 が 「 goarted 」 となっています。
初心者の方には誤解されるかもしれません。

修正しました!

最後の編集者: oryaaaaa (2008-05-07 16:12:42)

オフライン

 

#10 2008-05-08 00:32:54

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

最後の編集者: kiyoshi (2008-05-08 01:07:50)

オフライン

 

#11 2008-05-08 09:09:38

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

最後の編集者: kiyoshi (2008-05-08 09:09:49)

オフライン

 

#12 2008-05-10 06:45:01

kiyoshi
拒否
From: Linux-Loving-Person
登録日: 2007-02-07

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。

最後の編集者: kiyoshi (2008-05-10 06:49:12)

オフライン

 

#13 2008-05-28 02:09:13

wyvern
新しいメンバ
登録日: 2008-05-28

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

oryaaaaaさんが作成したGUI版で簡単にUSBメモリにインストールすることができました。
さて、USBメモリでインストールしたUbuntuで、日本語入力できません。
SCIMはインストールされていますが、画面上部に王冠のアイコンが表示されません。
ところが、アプリケーションをsudoで起動すると、アイコンが表示され日本語が入力することができます。
この様な状態になっている場合、どのように対応したらよいでしょうか?

http://forum.ubuntulinux.jp/viewtopic.php?id=1891
上の記事にUSBメモリにインストールしたUbuntuに権限上の問題が指摘されていますが、
権限関係で問題になっているのではないかと気になっています。

何かご存知の方教えていただけるとありがたいです。

オフライン

 

#14 2008-05-28 02:21:51

wyvern
新しいメンバ
登録日: 2008-05-28

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

スミマセン。自己解決です。
Live Session Userではなく、ユーザを作成してログインすると、
前述のような現象がなくなりました。お騒がせしました。

オフライン

 

#15 2008-05-29 17:51:38

wanpiz
メンバ
登録日: 2007-12-21

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

突然入ってくるようで申し訳ないのですが、oryaaaaaさんの作られた方法でUSB(8GB)にUbuntuを入れたいと思い、oryaaaaaさんのサイトのビデオを見たのですが、ビデオによるとどこのデバイスにインストールするかはあったのですが、具体的にどこのパーティションにインストールできるかの設定はなかったように思います。8GBをすべてUbuntuに使うのではなく先頭パーティションをWindowsで使用できるよう約3GBほどとっておきたいのですが、可能でしょうか?

オフライン

 

#16 2008-05-29 19:14:45

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

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

wanpizさん、oryaaaaaさんの方法では上の#1のシェルスクリプトをそのまま利用されているので、先頭以外のパーティションを
「起動パーティション」にする選択肢はないでしょう。

上の#1の方法で、 install_usb.sh コマンドの 「パーティション番号」 を次のように変更すれば問題はないはずです。
パーティション分割ができていれば、上のCUIの方法も非常に簡単ですが。

  3. Ubuntuのインストールと『ブートCD』イメージの作成

2. 次のコマンドでインストールし、「ブートCD」イメージを作成する。

      $ sudo sh ./install_usb.sh /dev/sd* 2 3
.

オフライン

 

#17 2008-05-29 21:24:45

wanpiz
メンバ
登録日: 2007-12-21

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

具体的に言うと、oryaaaaaさんの方法では下記のようにできないということなのでしょうか?

第一パーティション 3GB Windows用
第二パーティション 700MB Ubuntu(OS部分)
第三パーティション 約4GB Ubuntu(データ用)

できれば、もう少し詳しく説明していただきたいのですが。勝手ながらすいません。

オフライン

 

#18 2008-05-30 01:09:08

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

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

oryaaaaaさんの方法では、あなたの表現に従えば

第一パーティション 約700MB  Ubuntu(OS部分)   「起動パーティション」
第二パーティション   任意      Ubuntu(データ用)   「データパーティション」

の場合しか対応できないのです。

しかし、上の#1の方法では、より一般的にそれらのパーティションがUSB-Memoryの何番目にあっても良いように書かれています。
シェルスクリプト install_usb.sh の引数として、それらのパーティション番号が指定できる様になっているのです。

具体的な書式としては、次のようです。

$ sudo sh ./install_usb.sh <USBメモリのデバイスファイル> [<起動パーティション番号>] [<データパーティション番号>]

例えば、<USBメモリのデバイスファイル>が /dev/sdc 、<起動パーティション>が3番目のパーティション、
<データパーティション>が5番目のパーティションであれば、

$ sudo sh ./install_usb.sh /dev/sdc 3 5

となるわけです。

従って、あなたの場合は次のようになります。

$ sudo sh ./install_usb.sh /dev/sd* 2 3

なお、それらの引数の間の空白とパーティション番号は半角と決められていますから、注意してください。

オフライン

 

#19 2008-05-31 17:09:35

wanpiz
メンバ
登録日: 2007-12-21

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

ありがとうございます!ご指摘通りにやると無事インストールすることができました。非常に快適に動いており大満足です!

オフライン

 

#20 2008-10-30 21:53:46

kenjirou
新しいメンバ
登録日: 2008-10-30

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

ブートできるUSBメモリ、とても便利です!

ただ、使っていると、以前にあったはずのディレクトリがなくなったり、
起動時にエラーになったりする(gdmが上がってこない)ことがあるので、

調べてみると、きちんとshutdownしたにもかかわらず、
パーティションの2番の casper-rw というファイルシステムがボロボロ
(別のUbuntuマシンで、fsck をするとエラーが沢山でる)になっている
ことがわかりました。

casper-rwのファイルシステムが umount が完了する前に、
USBメモリのデバイスを停止させているのではないかと疑っているのですが、
どうしたらよいかお手上げです。

何か対応方法はないでしょうか。

オフライン

 

#21 2008-10-31 03:18:02

のんき
メンバ
登録日: 2007-03-04

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

ここにお集まりの皆様、こんにちは。
moz様には何時もお世話になっております。
A-DATA社 PD7 4GB容量のUSBにUbuntu 8.04.1をUSBへ直接インストールする
方法で足掛け3ヶ年ほど使用しております。
導入当初はmoz様のC&Pでやっておりましたが物理的な容量不足が問題となり、7.10から
USBに直接インストールする方法へ以降しました。4GBの容量ではそれでもぎりぎりです。
C&Pでやっていたころ、kenjirou様が書いておられるような諸問題が発生していたのを
おぼえております。未だ解決していないようですね。残念です。
USBに直接インストールする方法ではこのような諸問題は発生しておりません。
つい先日下記フォーラムでもUSBの耐用アクセス回数についての意見があがって
いましたが、私の経験からもUSBの当たり外れがあるようです。
今使用しているUSBは3年近く使っておりますが記憶障害は出ておりません。
でも、先日購入したUSBは使用しはじめて1ヶ月ほどで記憶障害が出て使えなくなりました。
kenjirou様、USBのハード的な問題を確認していただけたらと思い書いてみました。

<参照元>
Ubuntuに関する質問 > USB メモリーで Ubuntu を運用するのが望ましくない件
http://forum.ubuntulinux.jp/viewtopic.php?id=3129

オフライン

 

#22 2008-10-31 09:37:13

kenjirou
新しいメンバ
登録日: 2008-10-30

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

アドバイスありがとうございます。
USBメモリの書き込み寿命のことも疑ったので、
他のUbuntuマシンで /dev/sdb を全部読み出せる(I/Oエラーなしに)ことは
確認してみました。
別のUSBメモリでしばらく使っていたときに、動作中にI/Oエラーがでたことがあるのですが、
そのときは別マシンで読むと /dev/sdbに読めないブロックができていました。

また、今回、確認のために新しいUSBメモリを買ってきて新規にブート可能にインストールし、
一度だけ立ち上げてshutdownして、他のマシンでファイルシステムを確認したところ、
やはりfsckで沢山のエラーがでていました。

ということで、C&P方式のshutdown(というかUSBメモリのデバイスの取り外し処理
のタイミング)に問題があるのではないかと思い、投稿させて頂いた次第です。

社員(学生)のLinux研修をこのUSBメモリ方式で行おうと考えていたのですが、
これでは無理そうですね。ああ困った。。。

オフライン

 

#23 2008-10-31 16:27:08

kenjirou
新しいメンバ
登録日: 2008-10-30

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

アドバイスありがとうございます。

おっしゃるとおり、remove the disc ...と出ている(電源が切れていない)ときに
USBメモリを取り外したこともありますし、Enterを押して電源が切れてから取り外した
こともありますが、特に違いは見られませんでした。

この画面から、Enterを押しても、USBメモリのアクセスランプ(LED)は点灯しない
ので、いずれにせよ書き込み動作はしていないと推測しています。
もちろん、ご指摘のとおり電気的に良くない可能性があるのは理解できます。

実際にいくつかのパターンで試してみました
・ USBメモリの第2パーティション(/dev/sdb2(caspter-rw)) を
  別マシンでfsckして、一旦cleanにした状態で、
  (1) remove the disc... と出て、Enterを押し電源が切れから、USBメモリを抜く
             → /dev/sdb2 は cleanではなく、fsckでエラーがでる。
  (2) 同じく、メッセージが出てから、USBメモリを抜く
             → /dev/sdb2 は cleanではなく、fsckでエラーがでる。

・Ubuntu 7.10 Desktop日本語版 のCDからUSBメモリ起動を作ったものでも
  やはり、データパーティションはnot cleanになってしまいます(以前に試したことです)。

となりました。

また、気になることとして、
remove the disc ...と出ている画面で、Alt-F7 でコンソールに切り替えて、
そのまましばらく見ていると(USBメモリは差し込んだまま)、
  Buffer I/O error on device sdb2, logical block 0
  EXT2-fs error (device sdb2):  ubable to read inode block - inode=xxx,block=xxx
  .....
というようなエラーが沢山表示されるというのがあります(幾つかのUSBメモリで
試しましたが、同様でした)。

USBメモリのほうは、その後取り外して、読み書きが正常にできることを確認していますので、
umount処理が完了していない(bufferを全てフラッシュしていない)のに、
USBメモリのデバイスを先に停止してしまっている、のが原因ではないかと疑っているのですが、、、。

いっそ、/dev/sdb2 を write through にできたらどうか(パフォーマンスは落ちるでしょうが)
とも思っています。どこを変更すればよいのか分からないのですが、ジャストアイデアです。

オフライン

 

#24 2008-11-04 15:14:43

kenjirou
新しいメンバ
登録日: 2008-10-30

Re: Ubuntu 8.04 on USB Memory : インストールと「ブートCD」

自己フォローです。

普通のインストールをUSBメモリに行った話があったので、
2GBのUSBメモリに通常インストールを行ってみました。
結果としては、これでshutdown後にファイルシステムがおかしくなることは
なくなりました。
アドバイスありがとうございました。

行ったことをまとめておきます。8.10でも大丈夫でした。

(1) Ubuntu Desktop日本語版のCD-ROMを作成から起動し、
      USBメモリを差し込み、そこにインストールを行う。

(2) 2GBでは入らないので、手動パーティション分割を選び、
       スワップをゼロにし、ディスク全体を /パーティションとする。
       さらに、ext3ではなく、ext2ファイルシステムを使う(ext2でないと入らない)。
       ブートローダのインストール先を USBメモリのデバイス(/dev/sdb など)と
       するのに注意(既存のHDDのMBRを上書きされる可能性があります)。

(3) インストールが終わったら、USBメモリから起動する前に、Live CDや
       既存のUbuntuにて、USBメモリのファイルシステム(例えば /dev/sdb1)に
          sudo tune2fs -m 0 /dev/sdb1
      のようにして、一般ユーザがファイルシステムを100%まで使えるようにする。

(4) USBメモリから起動する。
      apt-get remove や aptitudeなどで、不要なパッケージをできるだけ減らす。
      ヘルプファイルやOfficeなどを削るとかなり減ります(200MBくらいは減らせた)。

です。

オフライン

 

Board footer

Powered by FluxBB