データ復旧の情報工学研究所

国内トップクラスのデータ復旧ソリューション
株式会社情報工学研究所
24時間営業中、丁寧な対応、丁寧な作業、高い技術力でデータ復旧サービスを全国47都道府県のお客様に提供しています。官公庁様・企業様・法人様のサーバー、NAS、ハードディスク、パソコンなどあらゆるメディアのデータ復旧に対応しております。

データ復旧・システム設計保守・全国人材派遣

機密保持・情報漏洩対策・医療向けBCP・フォレンジック

サーバーメンテナンス・データ復旧業者向け技術支援

も利用する

復旧方法を作る会社、強いシステムを作る会社、

情報工学研究所・・・

Ubuntu Server環境でのMBR破損とGPT破損: 復旧手法と時間効率の比較

もくじ

【注意】 本記事はUbuntu Server環境におけるMBR/GPT破損の一般的な復旧手順を整理したもので、実機の状態(ディスク劣化、RAID/LVM構成、暗号化、クラウド基盤、運用制約など)によって最適解は変わります。誤った書き込みや安易な修復コマンドで状況が悪化することもあるため、不安がある場合や業務影響が大きい場合は、株式会社情報工学研究所のような専門事業者に相談してください。

 

深夜の再起動で起動不能:/dev/sda が見えない“あの瞬間”

夜間メンテ後の再起動で、突然OSが立ち上がらない。コンソールには「no bootable device」「grub rescue>」や、initramfsのプロンプトだけが出る。あるいはOSは起動するのにルートが見つからず「ALERT! /dev/… does not exist」などで止まる。現場だと、まずここで空気が重くなります。

「またか……。今日に限って当番一人なんだけど」「原因説明、どう書けば通るんだよ」——このモヤモヤは自然です。しかもMBR破損なのかGPT破損なのか、あるいは物理障害(読み取りエラー、ケーブル不良、コントローラ障害)なのかで、最初の打ち手が変わります。ここで“場を整える”ために、焦って修復コマンドを連打しないのが重要です。


まず見るべきログと「見え方」

起動不能時は、Live環境(Ubuntu ServerインストーラのRescue/Live、SystemRescueなど)で起動し、以下を「読み取り中心」で確認します。

  • dmesg:I/O error、timeout、reset、SATA link down/up、NVMe errorなどが出ていないか

  • lsblk -f / blkid:パーティション・FS・UUIDが認識されているか

  • fdisk -l:MBR形式の表示や、GPT関連の警告が出るか

  • parted -l:“Partition Table: gpt/msdos” の判定、エラー表示

この段階で「/dev/sdaが見えない」場合、テーブル破損以前にデバイス層の問題(物理故障や接続、HBA/RAIDカード、仮想基盤側の切断)も疑います。逆にデバイスは見えるのにパーティションが空に見える、サイズが変、末尾に未割当が大量に見える、といった場合はMBR/GPT破損の可能性が上がります。


“復旧の目的”を先に言語化する

復旧には段階があります。たとえば「データを救出できれば良い」のか、「同じディスクで起動まで戻したい」のか、「短時間でサービス復帰(別ディスク/別VMで再構築)を優先する」のか。ここを曖昧にすると、作業の途中で判断がぶれて時間が溶けます。

本記事では、目的を次の3つに分けて整理します。

  1. 最優先:データ保全(読み取り主体)——これが崩れると後工程が全部危うい

  2. 次点:起動回復(再現性ある手順)——GRUB/ESPまで含めて戻す

  3. 並行:時間効率(最短手順の選択)——MBR/GPTで分岐し、無駄を減らす

ここまで“クールダウン”できると、次の章の「MBRかGPTか」を短時間で決めやすくなります。

 

MBRかGPTか:最初の30分で決まる“復旧の筋”

MBR(msdos)とGPTは、壊れ方も、復旧の入口も違います。にもかかわらず、現場でありがちなのが「とりあえずgrub-install」「とりあえずfsck」。これは“被害最小化”の逆で、復旧時間を伸ばすことがあります。まずは30分で、状況を分類します。


見分けの基本:partedとfdiskの出力

代表的には以下の情報が手がかりになります。

  • parted -l で「Partition Table: gpt」か「msdos」か

  • fdisk -l で「Disklabel type: gpt」や「GPT PMBR size mismatch」などの警告

  • sgdisk -v /dev/sdX(GPT検証)でヘッダ・テーブルの整合性

GPTディスクには通常、先頭に“保護MBR(protective MBR)”があり、MBRツールから全領域が1パーティションに見えることがあります。逆にMBRディスクをGPTツールで触ると誤判定のもとになるため、最初は「表示結果を突き合わせる」意識が重要です。


壊れている場所の当たりをつける(起動か、テーブルか、末尾か)

MBRとGPTの“どこが壊れやすいか”は構造に依存します。

観点 MBR(msdos) GPT
管理情報の位置 先頭セクタ(LBA0)にブートコード+パーティションテーブル 先頭側:GPTヘッダ(LBA1)+エントリ配列、末尾側:バックアップ
典型的な破損 先頭1セクタの破損で全体が“未割当”に見えることがある 先頭が壊れても末尾バックアップから復元できる余地がある
時間効率の勘所 「元の開始セクタ」を確定できると早い。曖昧だと探索が長い sgdisk/gdiskでバックアップ復元が刺されば短い。両方壊れると長い

「なるほど」と思ってほしいポイントはここです。GPTは“二重化”が前提で、バックアップヘッダが生きていれば比較的早く整合を戻せます。一方でMBRは先頭依存が強く、開始セクタ情報が失われると、復元は“推定と検証”の比率が上がります。


現場での最短判断フロー(書き込み前)

ここでは“ノイズカット”のため、書き込みを伴わない確認だけで枝を分けます。

  1. dmesgでI/O errorが多い場合:まず物理/接続/コントローラ起因を疑い、読み取り優先(後述の複製が先)

  2. partedがgptと判定し、sgdisk -vで「backup header OK」寄り:GPT復元ルートが有力

  3. partedがmsdosと判定し、fdiskがテーブル不整合:MBR復元ルートが有力

  4. どちらも判定が揺れる:RAID/LVM/仮想ディスク構成の可能性を前提に、まず“全体像の棚卸し”

この章の結論はシンプルです。MBR/GPTの判定と、読み取りエラー有無の確認を、最初の30分で終える。ここを外すと、以降は“ブレーキ”が効かずに作業が膨らみます。

 

やってはいけない近道:fsck・grub-install 先打ちは時間を溶かす

起動しないと、人は「起動だけ戻そう」と考えがちです。けれどMBR/GPT破損が絡む状況で、いきなりgrub-installやfsckを打つのは、復旧の“歯止め”を外す行為になり得ます。これは脅しではなく、構造上の理由があります。


なぜ危ないのか(書き込みが発生するから)

fsckはファイルシステムの修復であり、対象を誤ると整合性を“別の形”に確定させてしまうことがあります。さらに、LVMやRAID上の論理ボリュームを誤認した状態でfsckすると、期待した場所とは違うメタデータが書き換わる可能性があります。

grub-installも同様で、BIOSブートならMBR領域やembedding領域に書き込み、UEFIブートならESP(EFI System Partition)へファイル配置やNVRAMエントリの更新が絡みます。テーブルが壊れている状態で実行すると、そもそも対象パーティションが誤っている、ESPが見えていない、別ディスクに書いてしまう、といった事故が起きます。


“心の会話”を肯定したうえで、順序を守る

「でも、grub rescueって出てるしGRUB直せば良くない?」と思うのは自然です。現場の感覚として正しい場面もあります。ただし、テーブル破損の疑いがあるなら、まず“書き込みをしない確認”と“複製”が優先です。ここでのダメージコントロールが、結局いちばん早い。

順序を崩さないためのルールを、運用手順として固定すると強いです。

  • ディスクにI/O error兆候があるなら、最初にddrescue等でイメージ化(原本への書き込みを避ける)

  • パーティションテーブルが不明確なら、gdisk/sgdiskやsfdisk/testdisk等の“テーブル復元”を先に検討

  • ルートFSが見える・正しくマウントできる状態になってから、GRUB/ESPの再構成へ進む

  • fsckは「必要性が明確」かつ「対象が確定」してから。可能ならバックアップ/スナップショット後に


“時間効率”の観点での損失パターン

近道が失敗すると、次のように時間を消費します。

  1. 誤った対象へ書き込み → 状況が変化 → 解析の前提が崩れる(再調査が必要)

  2. 一時的に起動しても、データ不整合が残る → 再発・追加障害 → 結局やり直し

  3. 障害説明が難しくなる → 関係者調整が増える(技術以外の時間が膨らむ)

この章のまとめは「遠回りに見える順序が、いちばん早い」ということです。次章では、その“遠回り”を最短化するために、複製(作業台の作成)を具体的に扱います。

 

まずは複製:ddrescue と読み取り戦略で“安全な作業台”を作る

MBR/GPT破損の復旧は、手順そのものより「原本をどう扱うか」で成否と時間が大きく変わります。ディスクが論理的に壊れているだけなら、原本に書き込まずに作業できる余地が多い。逆に、物理的な読み取り不良が混ざっていると、原本へ余計な読み取りを繰り返すほど状態が悪化し、復旧時間も跳ね上がります。ここでの基本方針は、原本に触れる回数を最小化し、解析と修復は“複製側”で行うことです。

「でも急いでる。複製なんてしてる時間がない」——そう思うのも自然です。ただ、復旧現場でよく起きるのが、複製を省いた結果、途中でI/Oエラーが増え、再起動や再読込を繰り返して“結局数倍の時間”を使うケースです。ここは被害最小化の観点で、最初に“歯止め”を作ります。


複製の目的は「復元」ではなく「作業安全」

ddrescue(GNU ddrescue)は、読み取れない領域を飛ばしながら効率的にコピーし、ログ(mapfile)を残して再挑戦できるのが強みです。MBR/GPT破損のように「先頭数MB〜数十MBの管理情報が壊れている」ケースでも、ディスク全体を一定の戦略で吸い出せれば、以降の作業を安全に進められます。

  • 原本ディスク:読み取り専用を意識(可能なら書き込み禁止の運用)

  • 複製先:同容量以上の別ディスク、またはイメージファイル(容量確保)

  • ログ:mapfileを必ず保存(途中停止・再開・追加読み取りに必須)


ddrescue運用の基本(“失敗しにくい順序”)

ddrescueは使い方を間違えると、無駄なリトライでディスクを酷使します。時間効率の観点では「まずは大枠を短時間で取る→必要箇所だけ後から詰める」が合理的です。

  1. 第1パス(高速):エラー領域は深追いせず、読める範囲を一気に確保

  2. 第2パス(分割):エラー周辺を小さなブロックで再挑戦

  3. 第3パス(必要時のみ):重要領域(先頭/末尾/GPTバックアップ等)を狙って追加読み取り

重要なのは、「どこまで読めたら次工程に進めるか」の合意です。たとえば業務復旧優先なら「管理情報と必要なデータ領域が読めた」時点で次へ進む。完璧主義で“全領域の完全コピー”に固執すると、読み取り不良ディスクではいつまでも終わりません。


MBR/GPT復旧に直結する“先頭と末尾”の重要性

MBRは先頭セクタ依存、GPTは先頭と末尾に管理情報がある——この構造が、読み取り戦略に影響します。具体的には次のように考えます。

  • MBR疑い:先頭(LBA0付近)が読めるかが鍵。先頭が読めない場合、テーブル復元は推定が増える

  • GPT疑い:末尾のバックアップヘッダが読めれば復元が一気に短縮される可能性がある

つまり、GPT疑いで末尾にエラーが集中している場合は、末尾を重点的に“穴埋め”できるかが勝負になります。ここを外すと、バックアップ復元が使えず、探索作業が増えます。


複製後にやること(以降は“複製側”で作業)

複製ができたら、以降の解析・修復は複製側(クローンディスクやイメージ)に切り替えます。ここで初めて、gdisk/sgdisk、testdisk、sfdiskなどのツールで“書き込みを伴う復元”を検討できます。原本は保全しておく。これが、後戻りできる唯一の保険です。

次章からは、MBR破損ルートの具体に入ります。MBRは推定要素が増えやすいので、時間効率の観点で「何を根拠に復元するか」を丁寧に組み立てます。

 

MBR破損ルート:パーティションテーブル再構築(sfdisk/TestDisk)

MBR(msdos)で厄介なのは、先頭の1セクタに「ブートコード」と「パーティションテーブル」が同居している点です。ここが壊れると、OSは“どこからどこまでがパーティションか”を判断できず、結果として全体が未割当のように見えることがあります。復旧のカギは、元のパーティション開始位置(Start LBA)とサイズを確実に特定することです。

「開始位置が分かれば早い、分からないと長い」——これがMBR復旧の時間効率の本質です。だからこそ、ここで“ノイズカット”しながら根拠を集めます。


開始セクタを特定するための根拠集め

MBR復元は、闇雲に当てずっぽうで書くと危険です。根拠として使えるものを優先度順に並べると、概ね次の通りです。

  1. 過去の構成情報:導入時の手順書、Ansible/Terraform、Kickstart/Preseed、チケット、監視のディスクレイアウト記録

  2. /etc/fstab の痕跡:UUID/ラベル(ただし起動不能でもディスク内に残る可能性)

  3. ファイルシステムのシグネチャ:ext4/xfs等のスーパーブロック位置から逆算

  4. TestDiskの探索結果:既存FSを検出して開始位置候補を提示

“現場あるある”として、構成情報が残っていない場合が多いです。そのときに有効なのがTestDiskです。ただし、TestDiskの結果をそのまま採用せず、検出された開始位置でマウント検証できるかを確認してから確定します。


TestDiskでの復元(使いどころと注意)

TestDiskはパーティションを探索し、復元候補を提示します。MBR破損のように「テーブルが消えた」ケースでは役立ちますが、注意点があります。

  • 探索結果が複数出た場合、誤った候補を“正”として書き込むと悪化する

  • LVMやRAIDの上にFSがあると、検出の見え方が変わる(単純な単一FSとは異なる)

  • 暗号化(LUKS)が絡むと、FSを直接検出できないことがある

時間効率の観点では、TestDiskは「候補を狭める」ツールとして使い、最後はマウント確認で確定するのが堅いです。


sfdiskでの再構築(再現性を重視するなら)

開始位置とサイズが確定できた場合、sfdiskでパーティションテーブルを書き直すと再現性が高いです。ここで重要なのは、書き込みは複製側で行うこと、そして書き込む前に現在の状態をダンプして退避することです。

MBRの復元で詰まりやすいのは「境界」のズレです。たとえば開始セクタが1セクタ違うだけで、FSがマウントできない、あるいはマウントできても後で不整合が出ることがあります。ここで焦ってfsckに走ると、また時間が溶けます。まずは開始位置の確度を上げる。


復元後の検証(起動より先に“中身”を確認)

MBRテーブルを再構築したら、いきなり起動回復(GRUB)に行く前に、次の順で検証します。

  1. lsblk -f でFSが正しく見えるか

  2. 読み取り専用でマウントし、ディレクトリ構造が期待通りか

  3. /etc/fstab、/boot、/var/lib 等、重要ディレクトリの存在確認

ここで“収束”させたいのは、「パーティションの境界が正しい」という確信です。起動復旧はその後で良い。次章では、GPT破損ルートに入ります。GPTはバックアップが刺さると一気に短縮できます。

 

GPT破損ルート:バックアップヘッダ/エントリ復元(gdisk/sgdisk)

GPTの強みは、管理情報が二重化されている点です。先頭側のGPTヘッダやパーティションエントリが壊れても、末尾側のバックアップが生きていれば、復元が短時間で“軟着陸”する可能性があります。逆に、先頭と末尾が両方壊れている場合は探索が増えます。時間効率の差はここで出ます。


まず検証:sgdisk -v が示す“どこが壊れているか”

GPTの場合、検証コマンドで整合性チェックが可能です。典型的には「primary headerが壊れている」「backup headerが壊れている」「partition tableが一致しない」といった形で異常が示されます。重要なのは、バックアップが使えるかどうかです。

バックアップが使えるなら、復元の方向性はほぼ決まります。ここでの判断が早いほど、全体の作業時間が短縮されます。


gdiskでの復元:バックアップからの再生成

gdiskは対話式で、GPTヘッダとテーブルの復旧操作を提供します。現場では「バックアップからメインを再生成できるか」が焦点になります。ここでも繰り返しですが、書き込み操作は複製側で行うのが原則です。

復元が成功すると、parted/lsblkでパーティションが再び見えるようになり、マウント検証へ進めます。この時点で「思ったより早く戻った」と感じることが多いのがGPTルートです。


両側が壊れている場合:探索と復元の難易度が上がる

先頭も末尾も壊れている場合、GPTの利点(バックアップ)が使えません。その場合は、パーティション境界をFSシグネチャから推定するなど、MBRと似た“推定と検証”が必要になります。ここは一般論で語れる範囲が限られ、ディスクの状態、ファイルシステム種別、暗号化の有無、LVM/RAID構成などで手順が変わります。

この局面では、無理に自力で“穴埋め”しようとして書き込みを繰り返すより、専門家に相談して被害最小化を優先したほうが結果的に早いことがあります。作業の可逆性(戻せる状態)を確保したまま、判断を進めるのが重要です。


復元後の検証:ESPや/bootの位置が正しいか

GPTはUEFI環境で使われることが多く、ESP(EFI System Partition)が絡みます。GPT復元後は、ESPが見えているか、/bootや/boot/efiが期待通りマウントできるかを確認します。ここがズレると、次章のGRUB/起動回復でつまずきます。

次章では、UEFI/BIOSの違いも含めて、起動回復(GRUB/ESP)を“再現性ある手順”として整理します。

 

UEFI/BIOSとブートローダ:GRUB/ESPの再配置で“起動”を取り戻す

パーティションテーブル(MBR/GPT)を“見える状態”に戻せても、起動は別問題です。特にUbuntu Serverでは、BIOS(レガシー)とUEFIで「どこに何を書き込むか」が違い、ここを取り違えると復旧が長引きます。現場の本音としては「もう起動さえしてくれれば…」ですが、焦って手順を飛ばすと、またやり直しになりがちです。ここは一度“場を整える”つもりで、再現性ある順序に落とし込みます。


最初に確定する:このサーバはUEFIかBIOSか

復旧環境(Live/Rescue)で、次のどちらかを確認します。

  • UEFIの目安:/sys/firmware/efi が存在する(多くのLinux環境での一般的な判定)

  • BIOSの目安:/sys/firmware/efi が存在しない(ただし環境によって例外はあり得る)

さらに、ディスクがGPTで、かつ小さめ(数百MB程度)のFAT32パーティションがあり「EFI System Partition(ESP)」として使われている形跡があればUEFI構成の可能性が高いです。ここでの判断がズレると、grub-installの対象がズレて時間を溶かします。


起動回復の全体像(やることを分解する)

起動回復は大きく分けると次の3段階です。

  1. OSのルートを正しくマウントできる状態にする(必要ならLVM/RAID/暗号化を先に解決)

  2. chrootで“そのOSの中”に入る(/dev /proc /sys などをbind mountして環境を整える)

  3. GRUBと設定を再生成する(UEFIならESP、BIOSならディスク先頭側に関与)

ポイントは、GRUB作業の前に「ルートFSが正しい」ことを確定することです。誤ったルートに対してGRUB設定を作り直すと、起動は戻らないのに“変更だけが残る”という最悪のパターンになります。


UEFIとBIOSで何が違うのか(要点だけ表で整理)

観点 UEFIブート BIOS(レガシー)ブート
重要な領域 ESP(FAT32)+UEFI NVRAM(起動エントリ) ディスク先頭付近(MBR/embedding領域等)
代表的な症状 ESPが見えない/NVRAMエントリが消える/grubx64.efi が参照されない MBRが壊れる/GRUB stageが見つからない/“no bootable”
復旧の要点 /boot/efi を正しくマウント→grub-install→efibootmgrで確認 正しいディスクを指定してgrub-install→grub設定再生成

chroot復旧の定番手順(考え方)

ここでは「具体コマンドの丸写し」ではなく、順序の意味を説明します。復旧環境でルートをマウントしたら、/dev /proc /sys をbind mountして、chrootで“インストール済みOS”と同等の見え方にします。これによりgrub-installやupdate-grubが、必要なデバイス情報を正しく参照できるようになります。

UEFIの場合は追加で、ESPを /boot/efi にマウントしてからchrootに入るのが一般的です。ここが抜けると、grub-installがESPへファイル配置できず、起動が戻りません。


GRUB再構成で詰まりやすい落とし穴

  • 複数ディスク環境:/dev/sda と /dev/sdb を取り違える(特にRAID/HBA/仮想基盤)

  • ESPのマウント先違い:/boot/efi が別パスになっている、またはマウントされていない

  • /etc/fstab のUUID不整合:テーブル復元後にUUIDが変わった/誤ったUUIDを参照している

  • initramfsの想定違い:LVM/RAID/暗号化の解除順が合わず、ブート途中で止まる

「一回で直らないのが普通」と割り切って、ログを見ながら“抑え込み”をしていくのが現実的です。ただし、やり直しを効かせるには“原本を保全し、複製側で試行する”という前章までの土台が効いてきます。

次章では、起動が戻る/戻りそうになった段階でやりがちな“見落とし”——LVM/RAID/ファイルシステム整合性の確認を、時間効率を意識して整理します。

 

中身の整合性確認:LVM/RAID/EXT4/XFS を“壊さず”点検する

起動が戻りそうになると、現場は一気に前のめりになります。「よし、直ったっぽい。早くサービスを戻そう」。この心理は当然です。ただし、MBR/GPT破損の復旧では、起動が戻ることデータ整合性が担保されていることは別物です。ここを切り分けずに進めると、復旧直後にデータ不整合が顕在化し、結局“収束”せずに二度手間になります。ここでの目的は、必要十分な点検で、リスクを見える化することです。


最初は「読み取り専用」で状況確認

ファイルシステムの修復(書き込み)に入る前に、まずは読み取り専用でマウントできるか、主要ディレクトリが妥当かを確認します。ここで大事なのは「直す」ではなく「壊れていないかの当たりを付ける」ことです。

  • /, /var, /home, /srv など、運用上重要な領域の存在

  • アプリのデータディレクトリ(DB、オブジェクト、ログ)の欠損がないか

  • /etc/fstab の参照先(UUID/ラベル)が現在の構成と一致しているか


LVMが絡む場合:PV/VG/LVの見え方を揃える

Ubuntu ServerではLVM構成が一般的です。パーティションテーブルが復元できても、LVMのPVが正しく認識されないと、ルートやデータLVが出てきません。ここは「見え方の棚卸し」が先です。

  • pvscan/vgscan/lvscanで、PV/VG/LVが想定通り見えるか

  • 同名VGが別ディスクにも存在する場合の衝突(テスト環境や古いクローンがあると起きる)

  • デバイス名が変わっても、LVMはメタデータで追えるが、複数候補があると判断が難しくなる

“心の会話”としては「LVMってこういう時に面倒…」となりがちですが、逆に言えば、メタデータが生きていれば論理構造を復元しやすい面もあります。焦ってfsckに入らず、まず論理ボリュームが正しく出ている状態に整えるのが近道です。


RAID(mdadm等)が絡む場合:アレイの状態を確認してから上位へ

ソフトウェアRAID(mdadm)や、HBA/RAIDカード配下の論理ディスクなど、層が増えるほど「どこを直しているのか」が曖昧になりやすいです。ここは順番を守ります。

  1. まずRAIDの健全性:デグレード、リビルド中、メンバー欠損がないか

  2. 次に上位(LVM/FS):下位が不安定なまま上位修復に入ると、再発しやすい

RAIDが不安定な状態で上位を修復すると、後で“損失・流出”の説明が難しくなることがあります。技術だけでなく、報告・説明の観点でも順序が重要です。


ext4とXFS:点検と修復のスタンスが違う

Ubuntu Serverでよく見るext4とXFSは、修復ツールや考え方が異なります。ここを混同すると時間を溶かします。

項目 ext4 XFS
代表的な点検 e2fsck の読み取り中心の確認(書き込みを避けたい局面では特に慎重) xfs_repair の “検査モード” 相当を活用し、状況を把握してから判断
修復の注意 誤対象に走るとメタデータが書き換わり、解析の前提が変わる ログ領域やメタデータの扱いが独特で、手順誤りが取り返しづらいことがある
時間効率 対象が確定してから実行すれば比較的見通しを立てやすい 状況把握→判断→実行の順を守るほど無駄が減る

ここで言いたいのは、どのFSが優れているかではありません。「対象が確定していないのに修復を走らせる」のが最大のロスということです。特に復旧案件では、一般的な運用トラブルシュートよりも“可逆性”が重要になります。


この段階でのゴール:安全に次へ進める判断材料を揃える

整合性確認のゴールは「完全修復」を宣言することではなく、次の判断ができる状態にすることです。

  • データ救出を優先すべきか(読み取り中心で退避)

  • 起動回復を優先して良いか(FSが安定している、あるいは影響範囲が限定的)

  • 個別案件として専門家に引き継ぐべきか(物理劣化や層が複雑で、誤操作リスクが高い)

次章では、ここまでのルートを「時間効率」という軸で比較し、MBRとGPTで“最短手順が変わる理由”を表で整理します。

 

時間効率で比較する:症状別の最短手順・判断表(MBR vs GPT)

ここまでで、MBR/GPTそれぞれの復旧ルートと、起動回復・整合性確認の要点を整理してきました。第9章では「時間効率」という現場目線の軸で、手順を“最短化”するための判断材料をまとめます。結論から言うと、短時間で収束させるコツは「最初の分類」と「書き込みの制御」です。道具の選択よりも、順序と止めどころ(歯止め)が効きます。


最初に分けるべき2つの軸:I/Oエラーの有無とMBR/GPTの確度

時間を溶かす典型は「原因が複数あるのに、単一原因として押し切る」ことです。たとえば、テーブル破損だけなら復元は比較的スムーズでも、物理劣化が混ざっていると読み取りそのものが進みません。そこで、最初に次の2軸で分類します。

  • 軸A:読み取りエラー(I/O error, timeout, reset)が出ているか——出ているなら複製(ddrescue等)優先

  • 軸B:MBRかGPTかが確定できるか——確定できるほど手順は短く、確定できないほど探索が増える

この分類ができると、「今は直す局面か、まず守る局面か」が明確になり、現場の空気も落ち着きます。ここが“クールダウン”ポイントです。


症状別:最短手順の考え方(実務向け対応表)

以下は、現場でよくある症状をもとに、最短化しやすい進め方を表にしたものです(あくまで一般的な整理で、構成や状態で変わります)。

症状(入口) まずやること(書き込みなし) 時間効率の勘所 次の一手(複製側で)
grub rescue> / no bootable device UEFI/BIOS判定、lsblk/partedでテーブル種別確認 起動だけ直したくなるが、テーブル不整合の有無を先に確定 テーブル復元→ルートマウント→chroot→GRUB再構成
partedがgpt、sgdisk検証で「バックアップOK」 sgdisk -v相当の検証結果で破損箇所を特定 GPTはバックアップが刺されば短い。末尾が読めるかが鍵 gdisk/sgdiskでバックアップから再生成→マウント検証
ディスクは見えるが全領域未割当っぽい(msdos寄り) fdisk/partedの出力突合、FSシグネチャの当たり MBRは開始セクタ確定が勝負。根拠が少ないほど探索が長い TestDiskで候補抽出→読み取り専用マウントで確定→sfdisk等で再構築
dmesgにI/O errorやresetが多い エラーの傾向確認(先頭/末尾/特定範囲か) 原本を触るほど悪化し得る。最初に複製して試行回数を抑え込み ddrescueで作業台作成→管理情報の復元はクローンで実施
LVM/RAID/暗号化が絡み、見え方が揺れる 層を下から棚卸し(RAID→LVM→FS) 上位から触ると迷子になりやすい。層ごとに確定していく 下位の安定確認→上位を読み取り専用で検証→起動回復へ

MBRとGPTの“時間が伸びるポイント”を明文化する

時間効率を上げるには、伸びやすいポイントを最初から認識しておくのが有効です。

種別 伸びやすい理由 歯止めの打ち方
MBR 開始セクタ情報が失われると推定が増え、検証回数が増える 根拠(構成資料/FSシグネチャ/TestDisk候補)を揃えてから書く。複製側で試行
GPT 末尾バックアップが読めないと“二重化の利点”が消える 読み取り戦略で末尾を優先する判断も検討。バックアップが死んでいるなら早めに専門家相談

最短化の要点まとめ(現場用チェックリスト)

  • 最初の30分:I/Oエラー有無、MBR/GPTの確度、UEFI/BIOSを確定する

  • 書き込みは後:テーブル復元・GRUB再構成・FS修復は“複製側”で段階的に

  • 目的を固定:データ救出優先か、起動回復優先か、短期復旧(別環境)かを先に決める

  • 迷い始めたらブレーキ:探索が長引く兆候(根拠不足、層が複雑、物理劣化)が出たら、一般論で押し切らない

次章では、ここまでの伏線を回収して結論に持っていきます。「復旧を早く終わらせるのは道具より手順」という帰結を、現場が納得できる形でまとめます。

 

結論:復旧を早く終わらせるのは“道具”より“手順”——迷ったら専門家に繋ぐ

MBR破損とGPT破損の復旧は、知っているコマンドの数で決まるわけではありません。実務で差が出るのは、順序の設計可逆性の確保、そして止めどころ(歯止め)です。ここまでの章は、そのための伏線でした。

エンジニア視点で言い換えるなら、「再現性のある手順」と「状態を変えない観測」を先に固め、変更(書き込み)は最小単位で行う、ということです。これは運用でも開発でも同じで、障害復旧にもそのまま当てはまります。


“心の会話”にロジックで答える

「とにかく起動させたい」「今日中に戻さないと怒られる」「復旧って運ゲーじゃないの?」——こう思うのは自然です。ですが、運ゲーに見えるのは、原因が複数(論理破損+物理劣化+構成複雑化)なのに、単一の打ち手で押し切ろうとするときです。

だから本記事では、次の順序を繰り返し強調しました。

  1. 観測(読み取り中心):I/Oエラー有無、MBR/GPT、UEFI/BIOS、構成(RAID/LVM/暗号化)

  2. 保全(複製):原本の試行回数を抑え込み、後戻りできる作業台を用意

  3. 復元(テーブル→起動→整合性):層を下から順に確定し、最小の書き込みで収束させる

この順序が守れるほど、復旧は速く、説明もしやすくなります。技術面だけでなく、社内調整・対人のコストも下がる。ここが実は大きいです。


一般論の限界:ここから先は「個別案件」になる

一方で、現実には「一般論の手順」だけでは判断しきれない局面が必ず出ます。たとえば次のようなケースです。

  • ディスクにI/Oエラーが増えており、読み取りを続けるほど状況が悪化しそう

  • RAID/LVM/暗号化/仮想基盤が絡み、どの層の破損か切り分けが難しい

  • GPTの先頭・末尾が両方壊れており、探索と推定が必要(誤操作リスクが高い)

  • 業務影響が大きく、試行錯誤の時間が許されない(短期復旧の設計が必要)

この段階になると、必要なのは「知識」だけでなく「現物に即した判断」と「安全な作業環境(機材・手順・検証)」です。ここで無理に自力で押し切ると、結果的に復旧が長期化し、損失が膨らむことがあります。


次の一歩:迷ったら“早めの相談”が最短ルートになることがある

ここまで読んで「自分でもいけそう」と感じる部分もあれば、「これは怖い」と感じる部分もあったはずです。その感覚は正しいです。復旧は、正しいブレーキが踏める人ほど強い。

もし次のどれかに当てはまるなら、株式会社情報工学研究所のような専門事業者への相談を、時間効率の観点でも検討してください。

  • 読み取りエラーが出ている、または増えている

  • 構成(RAID/LVM/暗号化/UEFI)が複雑で、切り分けに迷っている

  • 業務影響が大きく、短期復旧(代替構成・再構築)も含めて判断したい

  • 誤った書き込みが怖くて手が止まっている(それは健全な疑いです)

復旧は「最終的に動けばOK」ではなく、「再発しない形で収束したか」「説明責任を果たせるか」まで含みます。そこまで含めて最短で“収束”させるために、専門家という選択肢があります。

 

付録:現在のプログラム言語各種で“復旧自動化”をする際の注意点

最後に、MBR/GPT破損のような低レイヤ復旧を「スクリプトで自動化したい」「手順をツール化したい」と考える方向けに、主要なプログラミング言語ごとの注意点を整理します。ここは一般論ですが、誤ると被害最小化の逆になり得るため、慎重に扱ってください。


共通の大原則(言語に関係なく必須)

  • 原本に書き込まない設計:原本ディスクは保全し、クローン/イメージ上で検証・修復する

  • 対象デバイスを確定してから操作:/dev/sdX の取り違い、複数ディスク環境、RAID/HBA配下での誤認を前提に防止策を入れる

  • コマンド実行は安全側に倒す:引数のエスケープ、ログの保存、dry-run相当、確認ステップ(ただし人手確認の設計も含む)

  • 不可逆操作を小さく分割:テーブル書き込み、ブートローダ再構成、FS修復は段階的に


Python

  • subprocessで外部コマンド(sgdisk/gdisk/ddrescue等)を呼ぶ場合、シェル注入引数の取り違いが最大リスク。shell=Trueを安易に使わない

  • 大容量イメージの扱いでメモリに載せない設計が必要(ストリーミング、チャンク処理、進捗ログ)

  • 例外処理が雑だと途中失敗でも次工程に進み、状態を悪化させる。失敗時は必ず“ブレーキ”が掛かる作りにする


Go

  • 並列化しやすいが、ブロックデバイス操作は順序と排他が重要。並列I/Oで原本を酷使しない

  • 外部コマンドの標準出力/標準エラーの取り回しを誤ると、重要ログが欠落する。復旧ではログが根拠になる


Java / Kotlin

  • OSコマンド実行(ProcessBuilder等)で、パスや権限、文字コード差で挙動が変わる。復旧ツールは環境差がリスクになる

  • 大容量ファイル操作での例外・ストリームクローズ漏れが、長時間ジョブの失敗要因になる(途中で止まると再現が難しい)


C / C++

  • ブロックデバイスを直接触る実装は強力だが、バッファ境界・オフセット計算ミスが即致命傷になり得る

  • アライメント、エンディアン、セクタサイズ(512/4096等)の差を吸収しないと、誤った位置を書き換えるリスクがある


Rust

  • 安全性は高いが、低レイヤI/Oは結局unsafeやOS依存の境界が出る。そこを“安全だと思い込み”過ぎると危険

  • 抽象化が進み過ぎると、どのデバイスに何をしたかが見えにくい。復旧では透明性(ログ・根拠)が重要


JavaScript / Node.js

  • CLIラッパーを作る場合、非同期処理で順序が崩れると危険(テーブル復元→マウント検証→GRUB再構成などは順序が命)

  • child_processでの引数処理やエンコーディング差、権限周りの扱いが難しい。運用環境を固定できないと再現性が落ちる


PHP / Ruby

  • サーバ上で動かす運用は“権限”と“誤操作”の影響範囲が大きい。Web経由で復旧操作を走らせる設計は原則避ける

  • 文字列結合でコマンドを組み立てると、引数の混入や取り違いが起きやすい。復旧用途では特に危険


Bash / PowerShell

  • 手早く書ける反面、ガードが弱いと事故りやすい。set -e相当や厳格モード、デバイス確定チェック、ログ保存を必須に

  • ワンライナーで“つい実行”が起きがち。不可逆操作は必ず段階化し、手順書と一体で運用する


SQL(DB復旧や検証の周辺で)

  • MBR/GPT復旧そのものではなく、復旧後のDB整合性確認で使うことが多い。ここでの注意は「復旧直後はDBの前提が崩れている可能性」を織り込むこと

  • 壊れたデータに対する集計結果を“正”と誤認しない。ログ、チェックサム、アプリ側整合性と突合する

復旧は、技術的に正しいだけでなく、業務影響・説明責任・再発防止まで含めて設計する必要があります。個別案件では前提が一つ違うだけで最適手順が変わるため、判断に迷う局面やリスクが高い局面では、株式会社情報工学研究所のような専門家に相談し、最短で“収束”させる選択肢を検討してください。

はじめに


Ubuntu ServerにおけるMBRとGPTの重要性とその影響 Ubuntu Server環境において、MBR(Master Boot Record)とGPT(GUID Partition Table)は、データの管理とシステムの起動において非常に重要な役割を果たしています。これらのパーティションテーブルが破損すると、システムの起動ができなくなるだけでなく、データの損失やアクセス不能といった深刻な問題を引き起こす可能性があります。特に企業環境では、これらの問題が業務に与える影響は計り知れません。MBRは古い技術であり、最大2TBのディスク容量に制限がありますが、GPTはそれを超える大容量ディスクをサポートし、より多くのパーティションを管理できる柔軟性を持っています。しかし、どちらの方式も破損した場合には適切な復旧手法が必要です。本記事では、MBRとGPTの破損事例を分析し、それぞれの復旧手法とその時間効率について比較検討します。これにより、IT管理者や経営陣が迅速かつ効果的な対応を行うための指針を提供します。



MBRとGPTの基本概念と違いを理解する


MBR(Master Boot Record)とGPT(GUID Partition Table)は、ディスクのパーティション管理において重要な役割を果たします。MBRは1980年代から使用されている古い技術で、最大2TBのディスク容量をサポートし、最大4つのプライマリパーティションを作成できます。一方、GPTは新しい技術であり、理論上は9.4ZB(ゼタバイト)までの大容量ディスクをサポートし、128以上のパーティションを管理可能です。この違いから、GPTは大規模なデータセンターやサーバー環境において、より柔軟性と拡張性を提供します。 MBRはブートローダーを含むため、システム起動時に最初に読み込まれる情報を保持しています。これに対し、GPTは冗長性を持ち、パーティション情報をディスクの先頭と末尾に保存することで、データ損失のリスクを低減しています。さらに、GPTはUEFI(Unified Extensible Firmware Interface)との互換性があり、より現代的なシステム起動をサポートしています。 これらの基本概念を理解することは、障害発生時の適切な対策を講じるために不可欠です。MBRとGPTの特性を把握することで、それぞれの破損時にどのような復旧手法が必要かを見極めることが可能になります。次の章では、具体的な破損事例と対応方法について詳しく探ります。



MBR破損の原因とその影響を探る


MBRの破損は、さまざまな原因によって引き起こされることがあります。一般的な原因としては、ハードウェアの故障、ウイルス感染、誤ったパーティション操作や不適切なシャットダウンが挙げられます。これらの要因は、システムの起動時に必要な情報が損なわれることに繋がり、結果としてオペレーティングシステムが起動できなくなる事態を招きます。 MBRが破損すると、最初に影響を受けるのはシステムの起動です。ユーザーは「OSが見つかりません」や「ブートデバイスがありません」といったエラーメッセージに直面し、サーバーや端末へのアクセスができなくなります。これにより、業務の運営に支障をきたし、特に重要なデータやアプリケーションが利用できなくなるというリスクが生じます。 さらに、MBRの破損はデータの損失を引き起こす可能性があります。パーティション情報が不正確になることで、保存されているデータにアクセスできなくなる場合があります。このような状況に直面した場合、迅速な対応が求められます。次の章では、MBR破損の具体的な復旧手法について詳しく検討し、効果的な対策を提案します。



GPT破損の原因と影響の分析


GPT(GUID Partition Table)の破損は、MBRの破損と同様に、さまざまな要因によって引き起こされます。主な原因には、ハードウェアの故障、ソフトウェアのバグ、電源障害、または不適切なシャットダウンなどが含まれます。特に、GPTは冗長性を持つ設計がされているため、破損が発生した場合でもデータの損失を最小限に抑えることが可能ですが、完全に影響を受けないわけではありません。 GPTが破損すると、システムの起動に深刻な影響を及ぼします。ユーザーは「パーティションテーブルが無効です」や「OSが起動できません」などのエラーメッセージに直面し、サーバーやストレージデバイスへのアクセスが制限されます。このような状況は、特に企業環境において、業務の継続性に重大な影響を与える可能性があります。 また、GPTの破損はデータの整合性にも影響を及ぼすことがあります。パーティション情報が失われることで、重要なデータやアプリケーションにアクセスできなくなるリスクが高まります。これにより、データ復旧の必要性が生じ、迅速な対応が求められます。次の章では、GPT破損の具体的な復旧手法について詳しく探り、効果的な対策を提案します。



MBR復旧手法の詳細と実践的なアプローチ


MBRの復旧手法にはいくつかのアプローチがあり、状況に応じて適切な方法を選択することが重要です。まず、最も基本的な方法は、コマンドラインツールを使用してMBRを再構築することです。Linux環境では、`fdisk`や`testdisk`などのツールを活用することができます。これらのツールは、破損したMBRを修復し、パーティション情報を再設定するための強力な機能を提供します。 次に、バックアップからの復元も有効な手段です。定期的にMBRのバックアップを取っている場合、これを使用して迅速に復旧することが可能です。バックアップは、システムの安定性を保つためにも非常に重要です。万が一の事態に備え、定期的にバックアップを行うことをお勧めします。 さらに、ハードウェアの問題が原因でMBRが破損している場合は、ハードディスクの診断ツールを使用して問題を特定し、必要に応じてハードウェアの交換や修理を行う必要があります。これにより、根本的な問題を解決し、再発を防ぐことができます。 最後に、専門のデータ復旧業者に依頼することも一つの選択肢です。特に重要なデータが含まれている場合、専門家による復旧作業は、失敗のリスクを減少させるための有効な手段です。これらの手法を理解し、適切に選択することで、MBR破損時の迅速な対応が可能となります。次の章では、GPTの復旧手法について詳しく見ていきます。



GPT復旧手法の比較とその効率性


GPTの復旧手法には、いくつかの効果的なアプローチがあります。まず、最も一般的な方法は、`gdisk`や`parted`などのツールを使って、破損したパーティションテーブルを修復することです。これらのツールは、GPTの冗長性を活用して、バックアップされたパーティション情報を参照しながら復旧を行います。特に、`gdisk`はGPT専用のツールであり、ユーザーが簡単に操作できるインターフェースを提供します。 次に、データのバックアップが存在する場合、これを利用して迅速に復元することが可能です。定期的なバックアップは、障害発生時のリスクを軽減し、業務の継続性を保つために非常に重要です。バックアップからの復元プロセスは、通常、比較的短時間で完了するため、効率的な手段といえます。 さらに、ハードウェアの問題が原因でGPTが破損した場合には、ハードディスクの診断ツールを使用して、問題を特定し修正することが求められます。これにより、根本的な原因を解決し、再発を防ぐことができます。 最後に、専門のデータ復旧業者に依頼する選択肢もあります。特に重要なデータが含まれている場合、専門家による復旧作業は、時間とリスクを最小限に抑えるための有効な手段です。これらの手法を適切に理解し選択することで、GPT破損時の迅速かつ効果的な対応が可能となります。



MBRとGPTの復旧手法の総括と選択のポイント


本記事では、Ubuntu Server環境におけるMBRとGPTの破損事例を分析し、それぞれの復旧手法とその時間効率について比較しました。MBRは古い技術であり、主にコマンドラインツールやバックアップからの復元が有効な手段として挙げられました。一方、GPTは冗長性を持つため、破損時の復旧は比較的容易であり、専用ツールを使用することで迅速に対応できることが特徴です。 復旧手法を選択する際には、まず破損の原因を特定し、適切なアプローチを選ぶことが重要です。特に重要なデータが含まれている場合は、専門のデータ復旧業者に依頼することも考慮すべきです。適切な知識と手法を持つことで、システムの復旧を迅速かつ効果的に行うことが可能になります。これにより、業務の継続性が保たれ、データ損失のリスクを最小限に抑えることができます。今後も、定期的なバックアップと適切な管理を心掛けることが、データの安全性を確保するための鍵となります。



あなたのUbuntu Serverを守るための次のステップ


あなたのUbuntu Serverを守るための次のステップとして、まずは定期的なバックアップを実施することをお勧めします。バックアップは、データ損失やシステム障害に対する最も効果的な防御手段です。特に、重要なデータやアプリケーションが含まれている場合、バックアップの頻度を高めることが重要です。また、MBRやGPTの状態を定期的にチェックし、異常がないか確認することも忘れずに行いましょう。 万が一、MBRやGPTに問題が発生した場合には、迅速に対応できる体制を整えておくことが求められます。コマンドラインツールや専用ソフトウェアの使い方を学び、必要な知識を身につけておくことが有効です。さらに、専門のデータ復旧業者の情報を事前に確認しておくことで、いざという時に迅速に支援を受けることが可能になります。 このように、事前の準備と知識が、あなたのシステムを守るための大きな助けとなります。ぜひ、これらのステップを実行し、安心して業務を続けていける環境を整えてください。



復旧作業における注意事項とリスク管理


データ復旧作業を行う際には、いくつかの重要な注意点とリスク管理のポイントがあります。まず第一に、復旧作業を開始する前に、必ず現在のデータのバックアップを取ることが重要です。復旧プロセス中に新たなデータ損失が発生するリスクを避けるために、既存のデータを保護することが基本です。 次に、復旧ツールやソフトウェアの選定には慎重を期す必要があります。信頼性の高いツールを使用し、公式のドキュメントやガイドラインに従って操作を行うことが求められます。特に、誤った操作や不適切なツールの使用は、データのさらなる損失を招く可能性があります。 また、復旧作業においては、時間をかけずに迅速に対応することが求められますが、焦って作業を進めることは禁物です。冷静に状況を分析し、適切な手法を選択することが成功の鍵となります。特に、重要なデータが含まれている場合には、専門のデータ復旧業者に依頼することも一つの選択肢です。専門家の知識と経験が、復旧の成功率を高めることにつながります。 最後に、復旧後は必ずシステムの状態を確認し、再発防止策を講じることが必要です。定期的なバックアップや監視体制を整えることで、将来的なトラブルを未然に防ぐことができます。これらの注意点を踏まえ、慎重かつ計画的に復旧作業を進めることで、データの安全性を高めることができるでしょう。



補足情報


※株式会社情報工学研究所は(以下、当社)は、細心の注意を払って当社ウェブサイトに情報を掲載しておりますが、この情報の正確性および完全性を保証するものではありません。当社は予告なしに、当社ウェブサイトに掲載されている情報を変更することがあります。当社およびその関連会社は、お客さまが当社ウェブサイトに含まれる情報もしくは内容をご利用されたことで直接・間接的に生じた損失に関し一切責任を負うものではありません。