web-dev-qa-db-ja.com

外付けドライブからの/ usrのアンマウント

マウントしました/usr nvidiaTX1開発ボードからボードに接続された外部SSDへ。

再フラッシュせずに元の状態に戻すにはどうすればよいですか?電源を切り、SSDを切断して起動すると、/ usrディレクトリはありません。

/ root/usrにコピーを作成し、外部SSDの代わりにそれを指すようにfstabを更新することを考えていましたが、より良いオプションが必要であり、現時点では考えられません。

通常の場合x86ライブCDを起動して修正するだけですが、これはArmを備えたSoCであるため、それほど簡単ではありません。

1
Sam Hammamy

/のバインドマウントを使用して、元の/usr/usrが入力される前に/usrがマウントされていた場合は、おそらく空になっているはずです)を使用可能にして、コピーします。その上に/usrをマウントしました。

# mkdir /root/underlyingroot
# mount --bind --make-private / /root/underlyingroot
# cp -ax /usr /root/underlyingroot
# umount /root/underlyingroot

--make-privateは、/sharedオプション でマウントされている場合をキャンセルします。これは systemdを実行している場合です) 。それ以外の場合、上記のmountumountの間にマウントされたもの(例:挿入されたデバイスの自動マウントなど)は/root/underlyingroot内に反映され、単純なumount /root/underlyingrootが後で機能するのを防ぎます。 。

最終的な場所でコピーが完了したので、/etc/fstabを編集して、/usrマウントポイントを削除できます。

実行中の何も/usrを使用していない場合は、umountをすぐに/usrして実行できる可能性があります。しかし、最近では、シングルユーザーモードまたはレスキューモードでなくても、/usrを使用せずに実行することは困難であり、常にではない場合もあります(たとえば、新しいCentOS)。したがって、とにかく再起動が必要になる可能性があります。 umount --lazy /usrをすぐに削除し、/usrの新しい更新を外部ではなく内部ストレージで実行できるようにする、/usrを検討することもできますが、外部は次まで必要になります。リブート。

1
A.B