このエントリに記載している方法は危険かもしれません。実施される方は自己責任で行ってください。
vine_userさんのサイトでHDDに保存したISOイメージをGRUB2で直接起動する方法《Ubuntu 9.10対応》を見ました。
これはとても快適です。
調子に乗って、この方法をつかってブートし、UbiquityでLucidのインストールを試みたのですが、
実際にインストールを開始する段階の最初でアンマウントできない旨のメッセージが出てインストールできません。
悔しいので、気合を入れてUbiquityのソースを見てみたのですが、結構複雑で追いかけるのはかなりきついです。
基本的にPythonなのですが、GUIがある上に裏でシェルを使っていたりします。
そこで、エラーメッセージが出るところまで進めておいて、pstree -alp でそのときに走っているプロセスと
そのオプションを見てみました。関係ありそうな部分は下記です。
|-gksudo,3123 --preserve-env --desktop /home/ubuntu/Desktop/ubiquity-gtkui.desktop -- /usr/bin/ubiquity gtk_ui | `-udisks,3125 --inhibit -- /usr/lib/ubiquity/bin/ubiquity gtk_ui | `-ubiquity,3128 /usr/lib/ubiquity/bin/ubiquity gtk_ui | |-debconf-communi,4062 -w /usr/bin/debconf-communicate -fnoninteractive ubiquity | |-ibus-daemon,4041 --xim | | |-ibus-gconf,4055 | | |-python,4057 /usr/share/ibus/ui/gtk/main.py | | |-python,4060 /usr/share/ibus-anthy/engine/main.py --ibus | | `-{ibus-daemon},4056 | |-log-output,11685 -t ubiquity --pass-stdout /bin/partman-commit | | `-partman-commit,11686 /bin/partman-commit | | `-01unmount_busy,12462 /lib/partman/commit.d/01unmount_busy | `-{ubiquity},11682
名前からして怪しいのが"/lib/partman/commit.d/01unmount_busy"です。
見てみると、確かにumountを実行しています。
GUIのエラーメッセージもここから出しているようで、そのおかげでpstreeの出力にも出てくれたみたいです。
debconfの機能を使ってumoutを実行するかどうかを調べているようです。
debconf経由でubiquity/partman-skip-unmountをtrueにするのがスマートなのでしょうが、
やりかたがわからなかったので下のコードのように処理を始める前に"exit 0"で正常終了するようにしました。
この修正を実施してからインストールを開始すればISOイメージとは別のパーティションにUbuntuをインストールできるようになります。
下図のダイアログが出たら、[Ubuntu 10.04 を試す]のボタンを選択していったんGnomeのデスクトップ環境を表示されて修正を行います。
@@ -1,13 +1,13 @@ #! /bin/sh # This should largely be unnecessary now that partman-base/init.d/parted # checks for mounted partitions at startup, but it may still serve as # insurance against partitions being mounted while the partitioner is # running. - +exit 0 . /lib/partman/lib/base.sh db_get ubiquity/partman-skip-unmount if [ "$RET" = true ]; then exit 0 fi
0 件のコメント:
コメントを投稿