このような問題を修正する簡単な方法は、多くの場合、稼働中のシステムから起動し、ルートパーティションをマウントしてから/mnt
ファイルの名前を変更することです。
ライブシステムまたはシステムを作成する手段がない場合、またはシステムに物理的にアクセスできないが、再起動してGRUBメニューを取得できる場合は、GRUBエディターを使用してルートシェルを取得し、名前を変更できますファイル。
再起動または電源オフ、スイッチをオンにします。起動時にGRUBメニューが通常表示されない場合は、ShiftまたはEscを押してGRUBメニューに移動します。
までカーソルを移動Ubuntuのための高度なオプションを押しenter、を押しますe( -私たちは、その後クリーンアップする必要はありませんので、ここで変更し、永続的ではありません一度だけ)を編集するブートオプションは。
次のような画面が表示されます1:
で始まる行までカーソルを下に移動してから、その行linux
の末尾、またはそこにあるカーネルブートパラメータのどこかにカーソルを移動します。正しい行にいることを確認し、ここで慎重に入力してください。システムが/etc
所定の位置にないと起動できない場合があります。
テキストinit=/bin/bash
を追加し、を押しF10て起動します。
これにより、Bashシェルをinitとしてシステムが起動します。ルートシェルが取得され、ファイルシステムは読み取り専用でマウントされます。2ファイルシステムを書き込み可能にするには、次のコマンドを入力します
mount -o remount,rw /
これで名前を変更できます/etc
(ls
最初に名前を変更することもできます)
mv /apache2 /etc
これで、再起動するか、ルートシェルを通常のinitシステム3に置き換えて、ここから通常どおりブートを完了できます。
exec systemd
Ubuntu MATE 18.04でこの手順をテストしました。
1 VirtualBoxからGRUBエディターの良質のスクリーンショットを入手してくれたKulfyに感謝します!
2/etc
このシナリオではPATHを設定ファイルから設定することはできませんが、Bashは自動的に設定します。
3exec systemd
うまくいかない場合はexec /sbin/init
、トリックを行う必要があります。そうでない場合は、readlink -e /sbin/init
実行中のinitプログラムへのパスを指定する必要があります。これexec
は、完全なパスで実行できます。この方法で続行できない場合は、単に入力しreboot
ます。
/mnt
し、名前を変更して再起動します。