2018年9月4日火曜日

CloudReady v68以降で、ブートローダからWindowsしか起動できなくなったときの復旧方法

Chromeがv69になったと思ったら、CloudReadyがv68.3.26に上がったのですが、v63以降も維持されてきたデュアルブート構成が破壊されて、CloudReadyが起動できなくなってしまうことがあるようです。
これは、CloudReadyのEFIシステムパーティションの構成が変わったことによるので、ブートローダであるgrub2の設定をちょっと直せば起動できるようになります。Windows側から直す方法を掲載しておきます。

非商用のフリーウェアとして配布されている『MiniTool Partition Wizard Free』と『Explorer++』、メモ帳でもいいのでテキストエディタが必要です。

『Partition Wizard』を導入して、リストの先頭付近にあるタイプが〝GPT (EFIシステムパーティション)〟の項目を右クリックして「ドライブ文字の変更」を選択します。

何か適当なドライブに割り当てて、[OK] を押します。メインウィンドウのツールバーから [適用] をしてください。

次にリストの下のほうへスクロールし、同じような〝GPT (EFIシステムパーティション)〟を探します。右クリックして「プロパティ」を選び、[パーティション情報] タブを開きます。

「シリアル番号」という項目が重要で、この値を控えておきます。この画像では〝0x86ec4f2〟です。これで『Partition Wizard』での作業は終了です。

Windows標準の『エクスプローラー』で、ダウンロードした『Explorer++』の Explorer++.exe を右クリックし、「プロパティ」を選びます。[互換性] タブの「設定」で「管理者としてこのプログラムを実行する」をチェックしてください。[OK] を押して画面を閉じ、Explorer++.exe を実行します。

また、[Windows] キーを押してスタートメニューを開き、〝notepad〟と入力すると『メモ帳』が出てきますので、これを右クリックして「管理者として実行」してください。

先ほど割り当てたドライブを開き、EFI → Boot とフォルダを開きます。この中の grub.cfg を先ほど開いた『メモ帳』にドラッグして開きます。この中で〝CloudReady〟という文字列を検索して、その後ろにある〝--set=root XXXX-XXXX〟となっているところを編集します。
この値を先ほど控えたシリアル番号で置き換えるのですが(※違っているはずです)、シリアル番号の〝0x〟以降の値が8桁より少ない場合は、先頭に〝0〟を足してください。例の値であれば〝086ec4f2〟です。この値を英字は大文字にして4桁目と5桁目の間に〝-〟(ハイフン)を入れたものが、今回置き換える値です。例では〝086E-C4F2〟ですね。

編集し終わったらファイルメニューから上書き保存して、『メモ帳』と『Explorer++』のウィンドウを閉じます。

再起動すれば、grub2のブートメニューからCloudReadyを起動できるようになっていると思います。 やってしまえば簡単な作業なのですが、Windowsで分かりやすく説明するとなるといくつか段階を踏む必要があって、このようなエントリを立てることになりました。