ArchLinux isoインストールに入るchroot

ArchLinux isoインストールに入るchroot

ArchLinuxをインストールしようとしていますが、ブータブルメディア(メインディスクを除く)を接続するとすぐにラップトップが機能しなくなります。私がこれを言う理由は、私のラップトップを修正したいのではなく(なぜこれが起こるのかについてのどんな意見でも歓迎します)、私がなぜかなり複雑に見えることをしようとしているのかを説明するためです。

私のラップトップは以前のバージョンのUbuntuを実行しており、ArchLinux isoはマウント可能なディスクにあります。私の計画は、インストールプロセスの反対方向にArchLinuxのインストールを開始することです。

しかしこの時から私の無知が現れ始めた。私持つ RTMしかし、既存のインストールを終了すると、2回目の試みを行う可能性はほとんどありません。

答え1

Chrootingを始める前にこの問題を回避することを検討しましたか?オプションは完全にありません。

  1. USBスティックまたはUSB DVDから起動(コンピュータが停止しない限り)

    あるいは、他のコンピュータがあれば便利に使用できます。

  2. ネットワークから起動します(ノートブックがそれをサポートしている場合)。 TFTPサーバーを設定することは難しくありません。

  3. ハードドライブを取り出し、別のコンピュータに取り付けます。

次に考慮すべき事項は次のとおりです。本当にchrootを実行する必要がありますか?どのディレクトリでもインストーラを実行できませんか?

これでルートを指定しています。ディスクがパーティション化されているかどうかによって、多くが異なります。そうでない場合は、上記のいずれかのパスを選択することをお勧めします(問題が発生した場合は実際に置き換えられます)。

パーティションがあるとしましょう。Sにインストール/Sインストールメディアコンテンツとパーティションを配置できる場所時間次へインストール/システムを実行するときは、次の手順を実行する必要があります(免責事項:私はそれをテストしていません!):

  1. ループバックはISOをどこかにマウントします。mount -o loop,ro /path/to/iso /some/where

  2. メディアコンテンツをメディアから次にコピーします。S:cp -r /some/where/* /S

  3. シングルユーザーモードに入り、すべてのサービスを閉じて削除します。時間そしてS

  4. 実行中のシステムで重要な疑似ファイルシステムをバインドマウントします。

    for fs in /dev /dev/pts /proc /sys; do
        mount -o bind ${fs} S${fs}
    done
    
  5. ivot_root - ルートディレクトリを実行中のプロセスの他のディレクトリに置き換えますexec chroot(以前のディレクトリを削除するにはexecが必要です/)。

    cd /S
    pivot_root . old_root
    exec chroot . command
    
  6. 古いルートを削除します。

    for fs in /dev /dev/pts /proc /sys; do
        umount old_root${fs}
    done
    umount old_root
    

メディアコンテンツが/通常存在する最も重要な疑似ファイルシステムとしてマウントする必要があります。古いメディアをマウント解除したい場合は、実際にマウントされたメディアにchrootすることはできません/。マウントされたメディアバックアップファイルは、以前のルートディレクトリの下にマウントされたファイルシステムに存在し、ルートからすべてのファイルをアンマウントする必要があります。ディレクトリの内容。そして、マウントする他の代替パーティションがない場合は、古いルートをアンマウントしようとします。時間その間、他の場所にインストールすることは、おそらくいくつかのプログラムがまだ実行されている状態で問題を引き起こすだけです。特にフォーマットすることにした場合。

関連情報