Linux移行初期|順調すぎて調子に乗り過ぎ|home分離で地獄を見る|GPT相談室より

目次

Linux移行「次の段階編」|実際に何を確認し、どう復旧したのか

ここからは、今回の騒動を単なる失敗談で終わらせず、
「実際にLinuxで何を確認したのか」
を記録しておく。
検索でこの記事にたどり着いた人にも多少役立つよう、実際に使ったコマンドを整理しておく。
ただし、最初に重要な注意。
以下のコマンドを意味を理解せず、そのまま実行するのはおすすめしない。
特に、

  • /etc/fstabの編集
  • パーティション操作
  • mount
  • umount
  • ディスクの縮小

は、間違えるとOSが起動しなくなる可能性がある。
今回の記事は「初心者向けの作業手順」ではなく、
実際にトラブルになったとき、何を確認したのかを記録したもの
として読んでほしい。


1.まずlsblk -fを見る

Linuxでディスク構成を確認する場合、最初に使ったのがこれ。

表示例はこんな感じ。

ここで確認したいのは、

  • どのディスクか
  • どのパーティションか
  • ext4なのか
  • LABELは何か
  • UUIDは何か
  • どこにマウントされているか

である。
特に重要なのがUUID。


2.UUIDだけを確認したいならblkid

次に、

を使う。
例えば、

のように表示される。
fstabでUUIDを指定するときは、この値を使う。


3.現在のマウント状態を確認する

df -hも非常に重要だった。

例えば、

のように表示される。
ここで、
「このパーティションは実際にどこへマウントされているのか」
を確認する。
lsblk -fとdf -hを組み合わせて見ると、かなり状況が分かりやすくなる。


4.fstabを見る

今回の核心だったのが、

である。
編集する場合は、

などを使う。
ただし、ここはかなり重要。
fstabはシステム起動時のマウント設定そのもの。
1文字間違えるだけでも、起動時に問題が起こる可能性がある。
編集前にバックアップを取っておく方が安全だ。
例えば、

としておけば、元ファイルを残せる。


5.fstabを変更したらmount -a

編集後、いきなり再起動しない。
まず、

を実行する。
これは、fstabに記載されたマウント設定をまとめて適用するための確認方法として使える。
ここでエラーが出たら、再起動する前に止まる。
これが重要だった。


6.systemdの警告が出た場合

今回、fstab変更後にsystemdが古い設定を使っている旨の警告が出た。
その場合は、

を実行する。
その後、

をもう一度実行。
エラーが消えたか確認する。


7.「mountできた」だけで安心しない

ここも今回の教訓。

でエラーが出なくても、
それだけで設定が完全に正しいとは限らない。
その後、

と、

で、
意図したパーティションが、意図した場所にマウントされているか
確認する。
今回も、この確認が非常に重要だった。


8./homeが本当に別パーティションなのか確認する

例えば、

とすれば、/homeがどのファイルシステム上にあるか確認できる。
さらに、

も便利。
例えば、

のように表示されれば、
/dev/sdb2が/homeにマウントされていることが分かる。
/homeの分離を確認するなら、このfindmntはかなり分かりやすいコマンドだと思う。


9.パーティション操作はLive USBから

今回、最終的にはLive USBから起動してパーティション操作を行った。
これは重要。
現在起動しているOSが使用中のパーティションを、そのまま自由に縮小・変更できるわけではない。
そのため、Live環境から起動して、対象パーティションをアンマウントした状態で作業する。
GUIならGPartedなどを利用できる。
今回も、

  1. Live USBから起動
  2. 対象パーティションを確認
  3. 使用中のシステムパーティションをアンマウント
  4. パーティションを縮小
  5. 空いた領域に新しいext4パーティションを作成
  6. 再起動
  7. lsblk -fで確認

という流れになった。
ただし、パーティション操作は失敗するとデータを失う可能性がある。
必ずバックアップを取ってから行うべき作業である。


10.今回、最も重要だった確認方法

今回のようなディスク・マウント問題では、個々のコマンドを覚えるより、
複数のコマンドで同じ状態を確認する
ことが重要だと感じた。
例えば、

で構成を見る。
次に、

で実際の使用状況とマウントポイントを見る。
さらに、

で/homeだけを確認する。
そして、

で起動時の設定を見る。
つまり、

ディスク構成
    ↓
lsblk -f
実際のマウント状態
↓
df -h
特定ディレクトリのマウント
↓
findmnt /home
起動時の設定
↓
/etc/fstab

という感じで、それぞれ違う角度から確認する。
これが今回かなり役に立った。


11.初心者が最初に覚える必要はない

ここまで読むと、
「Linuxって、こんなにコマンドを覚えないといけないのか?」
と思う人もいるかもしれない。
私自身、今回かなり勉強になった。
でも、結論としては、
最初から全部覚える必要はない。
普通にZorin OSを使うだけなら、
ファイルマネージャーを開いて、
アプリをインストールして、
設定をして、
必要なファイルを扱う。
それでいい。
問題が起きたときに、

や、

を覚えればいい。
さらに必要になったら、

や、

を使えばいい。
Linuxは、
必要になったところから覚える
くらいでちょうどいい。


12.今回の失敗から得た「安全策」

今後、Linux環境でディスク関連の変更をする場合は、少なくとも次の順番を守ることにした。

① まずバックアップ

重要データがあるなら、先にバックアップ。
今回もバックアップの重要性を再認識した。

② 現在の構成を確認

lsblk -f
df -h
findmnt

③ 変更前に設定を保存

例えば、

④ 変更後は再起動しない

まず、

などで確認。

⑤ マウント状態を再確認

⑥ 問題があるなら、そこで止める

これが一番重要。
「せっかくだからもう少しやってみよう」
が、一番危険だった。


13.GPT相談室からの反省

今回、ユーザー側だけを責めるのも少し違う。
Linuxに慣れてきた段階で、
「/homeを別パーティションにするのも勉強になる」
という方向へ話を進めてしまった。
もちろん、技術的には意味のある構成だ。
しかし、今回の目的とユーザーのスキル、そして移行初期というタイミングを考えると、
「今やる必要はない」
と、もっと強く止めるべきだった。
特に、

WindowsからLinuxへ本気で移行するための環境を作っている

という状況なら、
まずは安定した標準構成で使い始める方が優先順位として正しい。
これは今回のGPT側の反省点でもある。


14.そして、最終的に分かったこと

今回の騒動を経験して、Linuxに対する見方が少し変わった。
Linuxは難しい。
でも、難しいからダメなのではない。
内部の仕組みが見えやすいから、深く入ろうと思えばどこまでも入っていける。
その一方で、
普通に使うだけなら、そこまで深く入る必要はない。
ここを区別することが大切なのだと思う。
私の場合、
Linuxを研究することが目的ではない。
Linuxを土台にして、
ブログを書き、プログラムを作り、パソコンを普通に使うこと
が目的だ。
だから、今後は、

必要になったら勉強する

を基本方針にする。


おわりに

今回の一件は、Linux移行の序盤としてはかなり濃い経験になった。
最初は、
「Zorin OS、思ったより簡単やん」
だった。
そこから、
「/homeを分離してみよう」
となり、
「特殊ファイルはコピーできません」
「UUIDは……」
「fstabは……」
「mount -aは……」
「systemdが……」
「Live USBで……」
「え? CapsLockまで?」
となった。
そして最後は、
「もうええ。普通に使おう」
である。
(笑)
でも、これでいいのだと思う。
Linuxの奥深さを少し知った。
しかし、それに深入りすることを目的にはしない。
OSはあくまで土台。
これから本当にやりたいことは、その上にある。
ブログもある。
プログラムもある。
まだ作りたいアプリもある。
WindowsからLinuxへ移行するという今回の計画も、ようやく本来の軌道に戻った。
今回の騒動を一言で締めるなら、

できるようになったからといって、やらなければならないわけではない。

これをLinux移行初期の教訓として、記録しておくことにする。

以上、GPT相談室スタッフのレポートでした(^。^)

1 2
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次