Linux(VirtualBox)が壊れたので頑張った[雑記]

# まえがき
久しぶりに起動したら，emergency modeに入った
先輩曰く，OSを入れ直した方がいいレベルらしい
結果，壊せる壊れかけのLinuxが爆誕した

せっかくなので，勉強ついでに一人で色々あがいた
役に立ったら♥️お願いします。
# 目次
**1.御託**
**2.試したこと**
**3.まとめ**

## 1.御託
VirtualBox7.0くらい
ホストOS:Windows11
ゲストOS:Debian (64-bit)

経緯
・久しぶりに起動したら壊れた
・以前githubにsshでリモートリポジトリを作成したが，起動・修復時に使用していたwi-fiではなぜかアップロードできない
・原因不明(強いて言えば衝撃とかかも)

起動時(伏字(*)アリ)
~~~
/dev/sda1: recovering journal
/dev/sda1: clean, ******/******* files, *******/******** blocks
[FAILED] Failed to mount /media/cdrom0.
[DEPEND] Dependency failed for Local File Systems.
[  OK  ] Mounted Arbitrary Executable File Formats File Systems.
(中略)
[  OK  ] Reached target Network is Online.
You are in emergency mode. After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" or "exit" to boot into default mode.
Give root password for maintenance
(or press Control-D to continue):(入力待ち状態)
~~~


## 2.試したこと
A~Cは気が向いたら読んでね

A.(おまけ)無意味まとめ
B.(おまけ)ファイル転送(Linux=>Windows)
C.(おまけ)ファイル転送(Linux=>Google Drive)
D.【本編】/etc/fstabの編集
### A.(おまけ)無意味まとめ
・`Ctrl-D`
`You ...  Control-D to continue):`に戻る
・`journalctl -xb`
数千行のログが出たのでそっと閉じた
・`systemctl reboot`
再起動する
とりあえず試すべき
筆者は再起動だけでは解決しませんでした
・`systemctl default`
・`exit`
`You ...  Control-D to continue):`に戻る
### B.(おまけ)ファイルシステムの修復
・`fsck`コマンドを使用する

「ファイルシステム」の整備を行う的なコマンドらしい．ファイルシステムはOS機能の一つで，データストレージ管理関連のモノっぽい．

これを実行するためには，対象のファイルシステム「アンマウント」が必要．結論を言うと，通常起動したら使用不可(多分)．なので，「シングルユーザモード」での起動を行う．

雑学用蛇足
・`lsblk -f`:ファイルシステムのリスト表示
・/dev/sd○の○は，マウントされた順にa,b,c,...と割り当てられるらしい

※fsckの参考例1

https://atmarkit.itmedia.co.jp/ait/articles/1803/15/news040.html

※fsckの参考例2
↓不良セクタのチェックは長すぎたのでシャットダウンした

https://kaworu.jpn.org/ubuntu/Linux%E3%81%A7%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%84%E4%B8%8D%E8%89%AF%E3%82%BB%E3%82%AF%E3%82%BF%E3%81%AE%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%A8%E4%BF%AE%E6%AD%A3%E3%82%92%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95

・「シングルユーザモード」で起動
参考元のコマンドの対象のファイルシステムは，rootが使用中らしくアンマウントに失敗した(Windowsだと「他のプロセスが使用中」によるアクセス拒否に近いかも)．
しかし，シングルユーザモードで起動すると，アンマウントができるらしい．起動方法はマジで色々あったので気になった人は検索してね．

※参考元

https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12210136372

これで弾かれたファイルシステムに対してfsckが出来るようになりました

【後日談】
たぶん元々ファイルシステム壊れてなかった

### C.(おまけ)ファイル転送(Linux=>Windows)
・`scp`コマンドを使用する(したかった)
下のサイトが分かりやすかった．

https://itc.tokyo/linux/scp-command/


・Tera Term/WinSCPによるファイル転送
特にこれといった参考サイトはない．
ssh接続でやるっぽいが，接続に失敗したので分からない．

・GdriveをによるGoogle Driveへのアップロード
全然ダウンロードできなかった．
コマンドで接続を確認したところ，ネットワークに繋がってるか怪しかった

↓参考にしたかった

https://qiita.com/neustrashimy/items/5973ccefbffdbc243abc

## D.【本編】/etc/fstabの編集
`Dependency failed for Local File Systems.`が出た場合，参考になると思う

Q.`/etc/fstab`とは？
A.起動時に読み込むファイルシステムに関する設定ファイルかも？

任意の方法(筆者はvim)で中身を見たところ，`cdrom0`が書かれてた行を二つほど発見．
(伏字(*)アリ)
~~~
/dev/sr0 /media/cdrom0 udf,iso****,noauto 0 0
# /dev/sr0 /media/cdrom0 udf,iso**** 0 0
~~~

下の行がコメントアウトになっているため，解除⇒再起動(`systemctl reboot`)
すると，無事正常に起動した．

恐らく，`noauto`というオプションは「起動時に自動で読み込まない」ということなのだろう．
そのせいで該当のファイルシステムが読み込まれず，起動に失敗したと思われる．
## 3.まとめ
`Dependency failed for Local File Systems.`が出ている場合，`/etc/fstab`の中を見て考えてみるといいかもしれない．


もしお役に立てれば，いいねしてもらえるとモチベになって助かります

【おまけ】
Q.emergency modeだけどいつものファイルどこ？
A.`/root`ディレクトリにいるので，`cd ../home/ユーザ名`でいつものディレクトリに移動できる