[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:49082] Re: i386 -> x86_64
早瀬です.
移行ガイドの存在は寡聞にして知りませんが, sarge のころに同様のことをしま
した.メモを取っていたわけではないので,記憶は曖昧です.
> 佐藤と申します。
>
> i386の環境で現在etchを使っているのですが、この環境をx86_64環境に移行す
> ることを検討しています。
>
> CPU種別が変更になります(VIA C3 -> Athlon X2?)が、i386としてはとりあえ
> ずカーネルを再構築をしておいてからHDDをつなぎかえればとりあえず動きそ
> うです。
>
> 動く環境を確保した後に、システムをx86_64環境に移行させていきたいのです
> が、そのようなことは可能でしょうか。
> やはり入れ直しのほうが安全なのでしょうか。
安全かつ楽なのは入れ直しです.新しい HDD を調達してきてインストールした後
に,古いHDDをマウントして,必要なデータをコピーするのが良いです.
どうしても新規インストールをしたくない場合は,以下のような手順でなんとか
なるかもしれません.しかし,トラブルが起こったときに自力で解決できる自信
がない場合は,やめたほうが良いでしょう.
1. HDD を x86_64 な PC に接続して使用できるようにする.
2. x86_64 のカーネルを作ってインストールし,i386ユーザランド+x86_64カー
ネルな状態を作る.他に自由になる amd64 環境を持っていない場合は,ク
ロスコンパイルしてください.また,パッケージ管理できませんので,既存
の i386 カーネルを上書きしないように注意してください
3. chroot 下に amd64 用のユーザランドをインストールする.
以下の説明では,↓のようにした場合を仮定します.
# debootstrap --arch amd64 etch /etch-amd64
4. 元の / と chroot 環境を入れ替える.
(a) debootstrap でインストールした環境はそのままでは使えないため,
/etc 以下の必要なファイル (passwd*,shadow*,group*,fstab など)
を i386 環境からコピーしたり,いくつかのパッケージを追加したり
する必要がある.
(b) (a) で作った環境が正しく動作するか確認する.
kernel の引数に init=/bin/sh として init の替わりに sh を起動し,
# exec chroot /etch-amd64
# exec init
とすれば確認できる……と思います.
(c) シングルユーザモードで起動するなどして, i386 のユーザランドを
どこかのディレクトリ (/etch-i386 等) に移動し, /etch-amd64 の
ユーザランドを / に移動する. /bin/sh ではなく, sash を使うの
が比較的安全だと思います.
以上です.
細かな作業は忘れてしまいましたので,臨機応変に何とかしてください.