誤って/ etcの名前を変更した後、元の名前に戻すにはどうすればよいですか?


36

Ubuntu 18.04を使用しています。

/etcフォルダの名前をに変更しましたapache2。それが私の最大の間違いでした

を使用する必要があるためsudo、名前を元に戻すことはできませんが、しようとするとエラーが発生します

sudo: unknown uid 1000

この問題を修正するにはどうすればよいですか?起動するライブシステムがありません。回復モードでは、ルートターミナルが開きますが、というメッセージが表示されますcannot open password database


17
インストールメディアから起動し、「Ubuntuを試す」を選択して、ルートファイルシステムをマウント/mntし、名前を変更して再起動します。
AlexP

インストールメディアを起動する方法は?
アライグマ

@ Zanna、shiftはメニューを表示しませんでした。他のボタンで開くことができますか?
アライグマ

@Zanna、Recoveryメニュー- >ルートはターミナル開きますが、それはパスワードデータベースと閉じ開くことができませんと言う
ラクーン

@Zanna、いや、していない:(
Racoon

回答:


62

このような問題を修正する簡単な方法は、多くの場合、稼働中のシステムから起動し、ルートパーティションをマウントしてから/mnt ファイルの名前を変更することです。

ライブシステムまたはシステムを作成する手段がない場合、またはシステムに物理的にアクセスできないが、再起動してGRUBメニューを取得できる場合は、GRUBエディターを使用してルートシェルを取得し、名前を変更できますファイル。

再起動または電源オフ、スイッチをオンにします。起動時にGRUBメニューが通常表示されない場合は、ShiftまたはEscを押してGRUBメニューに移動します。

までカーソルを移動Ubuntuのための高度なオプションを押しenter、を押しますe( -私たちは、その後クリーンアップする必要はありませんので、ここで変更し、永続的ではありません一度だけ)を編集するブートオプションは。

次のような画面が表示されます1

GRUBメニューエディターのスクリーンショット

で始まる行までカーソルを下に移動してから、その行linuxの末尾、またはそこにあるカーネルブートパラメータのどこかにカーソルを移動します。正しい行にいることを確認し、ここで慎重に入力してください。システムが/etc所定の位置にないと起動できない場合があります。

テキストinit=/bin/bashを追加し、を押しF10て起動します。

これにより、Bashシェルをinitとしてシステムが起動します。ルートシェルが取得され、ファイルシステムは読み取り専用でマウントされます。2ファイルシステムを書き込み可能にするには、次のコマンドを入力します

mount -o remount,rw /

これで名前を変更できます/etcls最初に名前を変更することもできます)

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ます。


4
スクリーンショットを含む非常に徹底的な+1 :)
WinEunuuchs2Unix

3
@Kulfyありがとうございます!それは素晴らしいです。DIには十分なRAMがないためVBを使用できません。私の答えは非常に親切で、あなたの助けに改善
Zanna

3
私はスクリーンショットをあまりにも大きく取ったと思う:P ;-)そしてスクリーンショットのクレジットに感謝します:)
Kulfy

1
@Racoonどういたしまして、修正していただきありがとうございます:)
Zanna

テストしようとしていますが、Ubuntu 18.04.Desktopでは動作していません。指示に逐一従った。動作していません。後F10わずか数行が表示され、空白の画面で停止します。何か提案できますか?
ビジェイ

8

ライブ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、再起動します。


Rtには[名前の変更]オプションがないため、[グラフィカルな方法]は機能しません。クリック。
ビジェイ

1
@Vijayファイルのアクセス許可が原因である可能性が高いため、グラフィカルに実行するには、rootとしてファイルマネージャーを開く必要があります。それを行うには、sudo nautilusターミナルからコマンドを実行します。(Ubuntuは、Windowsが「エクスプローラー」を使用するのと同じ方法で、ファイルマネージャーとして「
nautilus

2
もちろん、@ AJMansfieldはライブシステムでは問題になりませんが、一般的にsudo -H nautilus、rootがconfigファイルの所有者にならないようにするために使用する必要があり$HOMEます。あなたはおそらくこれを知っていますが、私は他の読者に言及しています。
ザンナ

6
  1. ここに示すように、起動可能なUSBを作成します。

  2. ここに示すようにキーを押してUSBから起動します。

  3. を実行して、ファイルシステムパーティションを見つけますgparted。sdxyであるとします。

  4. ターミナルで実行 sudo mount /dev/sdxy /mnt

  5. ターミナルで実行 sudo mv /mnt/apache2 /mnt/etc

  6. / mntのファイルシステムで名前の変更を確認します。

  7. ターミナルで実行 sudo reboot

  8. プロンプトが表示されたら、USBを取り外してEnterキーを押します


@Kulfy試しましたが、sudoがなければ動作しません。こちらをご覧ください
ビジェイ

これは、sda2がsudoでマウントされたため、sudoのみがアクションを実行できるためです。ただし、nautilusで(特別な許可なしに)ドライブをマウントすると、sudoなしでタスクを実行できます。
Kulfy

チェックした `ubuntu @ ubuntu:〜$ mount / dev / sda2 / mnt mount:rootだけがそれを行うことができますubuntu @ ubuntu:〜$
Vijay

1
私の知る限り、mountプログラムは非常に厳格であり、常にルートとして実行する必要があります。これの唯一の例外は、ファイルシステムがfstab存在し、userオプションがある場合です。このプログラムudisksctlにより、通常のユーザーudisksctl mount -b /dev/sda1は、たとえばを使用してデバイスをマウントできます(適切なマウントポイントを作成します/media/$USER/)。私が使って試していないudisksctl稼働中のシステムから、しかしライブシステム上の一つは、常に実行できる特権ユーザであるsudoユーティリティの必要はありませんので、同様にパスワードなしでudisksctlそうでなければとても便利です
Zanna
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.