Ubuntu 18.04を使用しています。
/etc
フォルダーの名前をApache2
に変更しました。それが私の最大の間違いでした
Sudo
を使用する必要があるため、名前を元に戻すことはできませんが、しようとするとエラーが発生します
Sudo: unknown uid 1000
この問題を修正するにはどうすればよいですか?起動するライブシステムがありません。回復モードでは、ルートターミナルが開きますが、cannot open password database
と言って閉じます。
このような問題を解決する簡単な方法は、多くの場合、稼働中のシステムから起動し、/mnt
にルートパーティションをマウントしてからファイルの名前を変更することです。
ライブシステムまたはシステムを作成する手段がない場合、またはシステムに物理的にアクセスできないが、再起動してGRUBメニューを取得できる場合は、GRUBエディターでルートシェルを取得し、ファイルの名前を変更します。
再起動または電源をオフにし、スイッチをオンにします。起動時に通常GRUBメニューが表示されない場合は、 Shift または Esc GRUBメニューに移動します。
カーソルを下に移動してUbuntuの詳細オプションを押します enter、次に押す e ブートオプションを編集します(一度だけ-ここでの変更は永続的ではないため、後でクリーンアップする必要はありません)。
このような画面が表示されます1:
linux
で始まる行にカーソルを移動し、カーソルをその行の末尾、またはカーネルブートパラメーター内の任意の場所に移動します。 /etc
が設定されていないとシステムが起動に失敗する可能性があるため、正しい行にいることを確認し、ここに慎重に入力してください。
テキストinit=/bin/bash
を追加してを押します F10 起動します。
これにより、Bash Shellを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は 自動的に設定 になります。
3 exec systemd
が機能しない場合は、exec /sbin/init
がうまくいくはずです。そうでない場合、readlink -e /sbin/init
は、実行する必要のある初期化プログラムへのパスを提供する必要があります。これにより、exec
をフルパスで使用できます。この方法で処理できない場合は、reboot
と入力してください。
ライブUSBがある場合は、そのUSBから起動して既存のファイルシステムをマウントし、そこから/etc
の名前を変更できるはずです。 こちら は、必要な場合にライブUSBを作成する方法に関するチュートリアルです。
ライブUSBで起動したら(Ubuntu 18.04ドライブを使用している場合)、「インストールせずにUbuntuを試してください」を選択すると、シャットダウン後も存続しないUbuntuインストールの完全なインスタンスが提供されます。起動したら、いくつかのオプションがあります。
コマンドラインの方法
ターミナルを開き、lsblk
を実行します。元のインストールのドライブになるボリュームを探し、その番号をメモします(/ dev/sd#)
次に、mkdir -p /mnt/directory
でドライブのマウントポイントを作成し、Sudo mount /dev/sd# /mnt/directory
でドライブをマウントします。 cd /mnt/directory
でディレクトリに移動すると、インストールのルートディレクトリにいるはずですが、Sudo
コマンドが機能しているはずです。 Sudo mv Apache2 etc
を実行して、仮想的に動作しているOSを再起動します。
グラフィカルな方法
ディスクを検索して、ディスクユーティリティを開きます。インストールドライブのように見えるボリュームを選択し、マウントします。ファイルマネージャーを開き、マウントされたボリュームを選択し、/Apache2
フォルダーを右クリックして名前を/etc
に変更し、再起動します。