2013年09月02日

初心者にやさしいchroot。fedora19インストールディスク

ライブcd兼インストーラー付きディスクの版じゃダメ。
それだと、どこを探しても、rescueモードがありませぬ。
http://fedoraproject.org/ja/get-fedora-all
にある、「インストールdvd」」の中から
ダウンロードします。
それには、ちゃんとrescueモードの選択肢がある。

archbangからのgrub管理で起動させていたhddを壊して
しまったのは、2日ほど前。
hddの2台目をつないでそこから起動し、chrootとか、
適当なlinux-livecdからchrootとか、
起動できなくなったhdd内の他の無実なディストロを
救出すべく奮闘したけれど、連敗続き。
grub-installなんてコマンドは、not found
とばかり出て、うんざりしていた。

で、ハッ!と、fedoraのrescueモードを思い出した。
使ってみれば、相変わらず、
(正しく使えば)じつによくできている。
chrootするための環境を引き継ぐ
込み入ったマウント操作なんかしなくても、
chrootできるようになっている。

しかも、マウントして意味のあるパーティションを
自動的に探してくれる(つまりhdd上にあるosの数だけ)。
でも、パーティションにラベル設定がされていないと、
名無しのゴンベイ、unknownでばかりリスティングされちゃう。
(のちに、ラベルが設定されていても、unknownという名で
並ぶことが判明。順番も不可思議な並びで並ぶ。
chroot先を間違わぬためには、ディストロ名をファイル名に
した空ファイルを"/"に置いておくといい。chroot直後に
lsコマンドを走らせれば、それがどのディストロであるかが分かる。)
注意すべきポイントは、どれをchrootするかを間違わぬことだけ!

正しく選べたら(選択操作で、自動的にマウント)、いよいよ

# chroot /mnt/sysimage
# grub-install /dev/sda

grubのインストールに成功したら、続いて

# grub-mkconfig -o /boot/grub/grub.cfg

とかすれば、とりあえず、その他の
ディストロも含めgrubで起動できるようになる。
/mnt/sysimageディレクトリは、あらかじめ用意されているもの。
必ずこのディレクトリを使おう。マウント上の
仕掛けがあるかもしれないから。

ブートローダーをmbmに切り替えるのは、
本体で起動できてからでいいさ。

chrootというのは、gentooとか、archlinux(本家)でも、
インストール時に必要な操作だけど、いまだに
よー解らん。むずかしい。どこまでがこちらの世界で
どこからがあちらの世界なのかな、、、。
たとえば、chrootして、ネットを使う場合、
どちらのデバイスが効いているの?
virtualboxのときも、なんだかよく判らないんだ。

言い訳:
archbangの大量更新時に、先にgrub-biosとgrub-commonを
アンインストールしてしまったのは、
/binや/sbinが実質形骸化されるときの
filesystemの変更との絡みがあったからだ。
grubも新しい形のパッケージに変更されることを
知っていた。それが却ってまずかった。

話のオチとしては、インストールされるはず
と思っていたものが、remove対象が無くなったから、
$ sudo pacman -Su の操作では、新しいgrubが
インストールされなかった、というお粗末。

じつは、archlinux(本家)のインストールディスクで
治せないかな、と思って、あれこれやった。修復するつもりが
インストールしてしまう操作になってしまい、
archbangを完全に修復不能な状態にしてしまった。
(のちに、な、なーんと修復できた)

上記fedoraのrescueモードで、
やっていたら、どうだったかな、と未練を催している。
grubのパッケージをpacmanで
インストールできたかどうか。実験してみたかった。
↓  ↓  ↓  ↓
9月5日の「でかしたぞ、オレ。死んだはずのarchbang復活劇。」
の記事の方法で、解決させられた。


posted by ブログ開設者 at 17:00| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする

/etc/init.dがないです。archbang-20130901-x86_64

かつて、わがプリンタ:dcp7030のドライバインストールで、
したほうがいいとされていた前準備の操作
$ sudo ln -s /bin/echo /etc/init.d/lpd 
をやってみて、コマンドが通らなかった。
ファイルマネージャーで/etc内を見てみたら、
/etc/init.dがなかった。

dcp7030の動作は、上記操作をしないでも、
まったく問題ないんだけれど。

河の流れのように、linuxもまたひとっところに
とどまることはない?
posted by ブログ開設者 at 11:26| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする