質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.53%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

3回答

40342閲覧

起動しなくなったCentOS7を起動できるようにしたい

Borisu

総合スコア13

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

0クリップ

投稿2018/08/14 14:19

編集2018/08/14 14:21

前提・実現したいこと

EmergencyModeでしか起動しなくなってしまったCentOS7をデータを消さずに正常に起動したい

発生している問題・エラーメッセージ

OSを起動しようとしたあとのコンソール画面

Generating "/run/initramfs/rdsosreport.txt" Entering mergency mode. Exit the shell to continue. Type "journalctl" to view system logs. You might want to save "/run/initramfs/rdsosreport.txt" to a USB stick or /boot after mounting them and attach it to a bug report

journalctlコマンドで取得した内容の抜粋(ログの日時などは省略)

systemd[1]: Found device /dev/mapper/cl-root. systemd[1]: Staring File System Check on /dev/mapper/cl-root systemd-fsck[424]: /sbin/fsck.xfs: XFS file system. systemd[1]: Started File System Check on /dev/mapper/cl-root. systemd[1]: Started dracut initqueue hook. systemd[1]: Mounting /sysroot... systemd[1]: Reached target Remote File Systems (Pre) systemd[1]: Staring Remote File Systems. systemd[1]: Reached target Remote File Systems systemd[1]: Staring Remote File Systems. kernel: SGI XFS with ACLs, security attributes, no debug enabled kernel: attempt to access beyond end of device kernel: dm-0: rw=32, want=1934753792, limit=104857600 kernel: XFS (dm-0): last sector read failed mount[441]: mount: /dev/mapper/cl-root: can't read superblock systemd[1]: sysroot.mount mount process exited, code=exited status=32 systemd[1]: Failed to mount /sysroot. systemd[1]: Dependency failed for initrd Root File System. systemd[1]: Dependency failed for Reload Configuration from the Real Root. ``` ### 補足情報(FW/ツールのバージョンなど) [こちら](http://katzplus.com/centos-7/%E5%9F%BA%E6%9C%AC%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%81%9F%E3%81%A1/centos7%E3%81%A7cl-root%E3%81%AE%E5%AE%B9%E9%87%8F%E3%82%92%E6%8B%A1%E5%BC%B5%E3%81%99%E3%82%8B/)のサイトを参考にrootパーティションを拡張しようとしてLVMのボリュームや/etc/fstabなどを弄っていて再起動を何回かしていたらEmergencyモードでしか起動しなくなりました /etc/fstabの/homeに関する記述を ``` #/dev/mapper/cl-home /home xfs defaults 0 0 ``` というようにコメントアウトした状態で再起動したときは正常に起動できておりましたが /rootパーティションの拡張がうまくいかず、一度vgcfgrestoreコマンドで弄りだす前の状態に戻して /etc/fstabの記述も ``` /dev/mapper/cl-home /home xfs defaults 0 0 ``` のようにコメントを外して再起動したことが原因だと思っています。 ですがemergencymodeでは/etc/fstabというファイルは存在しておりませんので困っています 正直なところデータが破損してしまうのが怖くてコレといったことを試していません。。。 安全に、データを保持したまま復旧する方法があれば教えてください。お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

1

ベストアンサー

mount[441]: mount: /dev/mapper/cl-root: can't read superblock

ルートパーティションの XFS ファイルシステムが破損しているようです。
メッセージの上の方に /sbin/fsck.xfs を実行したとのことですが、修復できなかったようです。
LVM と XFS をどう操作したのか rusian0 さんもわかっていないようですので、このシステムの修復はあきらめた方がいいと思います。

データのサルベージは、CentOS 7 の起動ディスク(DVD-ROM や USBメモリなど)から、レスキューモードで起動し、scp や USBメモリに吸い上げることができるかもしれません。
/home は手動で Read-Only でマウントできるかもしれません。
/ (ルートパーティション)は、運がよければ fsck.xfsxfs_repair で修復できるかもしれませんが、可能性は低いと思います。
できれば、/ (ルートパーティション) をこれ以上壊さないよう、このファイルシステムサイズより大きい USBメモリ/USBディスクを用意し、dd でファイルシステム全体を 1つのファイルとして吸い出し、そのファイルを別の Linux 上で復旧を試みるといいです。

投稿2018/08/14 15:08

TaichiYanagiya

総合スコア12139

tanat👍を押しています

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Borisu

2018/08/14 16:02

centos7のisoをunebootinというソフトを使ってUSBに入れ、BIOSでUSBからのブートを選択した後、レスキュモードで起動するように選択をしたのですが、Entering emergency mode となってしまい起動できませんでした。 元の質問からは逸れてしまうのですが、ddコマンドがcommand not found となってしまい使用できませんでした。回答者さんが仰られた通り、別のLinuxで復旧を試みたいのですが、全データを別HDDなどにコピーする良い方法はないでしょうか?
y_waiwai

2018/08/15 00:41

何かのLinuxのライブCDを作って、そのCDから起動し、そこからレスキューを試みます
TaichiYanagiya

2018/08/15 09:40

「Entering emergency mode」、dd コマンドが無いことから、レスキューモードで起動できていません。 何か手順を間違っているものと思います。
Borisu

2018/08/15 10:00

CentOS7のLiveUSBを作成してUSBからCentOS7の起動はできました。 ddコマンドも使用できますので sda=起動しなくなってしまったHDD sdb=USBディスク などと仮定して dd if=/dev/sda of=/dev/sdb bs=512 といったようなコマンドを使用してHDDのクローンを作成し オリジナルは何もせず保管しておき、クローン上でxfs_repairなどその他復旧作業に取り組むという流れでよろしいでしょうか?
TaichiYanagiya

2018/08/15 15:08

はい。 dd の if= には、sda まるごとでもいいですが、PV, VG, LV を順に手動で認識させる必要があるかもしれません。 レスキューモードで LV が見えているのであれば、まずは LV を対象に、if=/dev/mapper/cl-root としてもいいと思います。
Borisu

2018/08/16 20:46

すいません。TaichiYanagiyaさんのコメントを見る前にsdaまるごとでddを開始していたので、とりあえずクローン上で行ったこと(結果)を記載していきます ちなみに、Windowsで仮想環境を作ってクローンを読み込ませ、CentOS7のisoからレスキューモードで起動しました #root@localhost# pvscan PV /dev/sda3 VG cl lvm2 [930.32 GiB / 0 free] Total: 1 [930.32 GiB] / in use: 1 [930.32 GiB] / in no VG: 0 [0 ] #root@localhost# vgscan Reading volume groups from cache. Found volume group "cl" using metadata type lvm2 #root@localhost# lvscan ACTIVE '/dev/cl/swap' [7.75 GiB] inherit ACTIVE '/dev/cl/home' [872.56 GiB] inherit ACTIVE '/dev/cl/root' [50.00 GiB] inherit #root@localhost# mount /dev/mapper/cl-root /mnt mount: /dev/mapper/cl-root: can't read superblock #root@localhost# mount /dev/mapper/cl-home /mnt mount: /dev/mapper/cl-home is write-protected, mounting read-only mount: wrong fs type, bad option, bad superblock on /dev/mapper/cl-home, missing codepage or helper program, or other error #root@localhost# xfs_repair /dev/mapper/cl-root Phase 1 - find and verify superblock superblock read failed, offset 53687091200, size 131072, ag 4, rval 0 fatal error -- Success #root@localhost# xfs_repair /dev/mapper/cl-home Phase 1 - find and verify superblock... bad perimary superblock - bad magic number !!! attempting to find secondary superblock... ......................................... ......................................... found candidate secondary superblock error reading superblock 70 -- seek to offset failed unable to verify superblock, continuing 主に実行したコマンドは以上となります 改めてif=/dev/mapper/cl-rootとしたほうがよいのでしょうか? 復旧までの手順などのご指南をどうかお願い致します。
TaichiYanagiya

2018/08/17 06:30

ファイルシステムの復旧は無理かもしれませんね。 https://teratail.com/questions/32986 で紹介したツールでファイル単位で復旧を試みるか、業者に頼んだ方がいいかもしれません。
Borisu

2018/08/17 12:08

業者に頼みたいと思います。 ここまでありがとうございました
guest

0

Linuxはやったことがない&復旧ではないのですが・・・通常のコマンド(/bin配下のコマンド)は実行できますか? fstabがない場合は、それ以外のパーティーションがマウント出来ていないと思うので、まず必要なパーティーションをマウントしましょう(/etc /homeなど)で、マウント出来れば必要なデータをUSBにでも吸い上げた上で復旧作業(最悪OSの再インストール)を行って下さい。・・・私はfreebsdのfstabの記述ミスでシングルユーザでしか立ち上がらなくなった時に、同じようなことをしました。

投稿2018/08/14 15:00

cateye

総合スコア6851

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Borisu

2018/08/14 15:10 編集

/bin配下のコマンドは実行できます。 とりあえず今必要だと思われるファイルは/etc配下なので /dev/mapper/cl-rootをマウントしようと思ったのですが mount: /dev/mapper/cl-root: can't read superblock と表示されうまくいきませんでした。
guest

0

ubuntuなどでメディアから起動して、データをバックアップしてから作業しては?

このまま作業進めると、とどめを刺すことになりかねませんよ。

投稿2018/08/14 14:46

oikashinoa

総合スコア2826

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Borisu

2018/08/14 15:52 編集

バックアップ先となるHDDが無いという現状です。。。 どうにかHDDを用意して作業したいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.53%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

同じタグがついた質問を見る

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。