インストール済みWindows10でのOEMパーティションの削除と作成

前提,あるいは起こった悲劇

Windows10とUbuntu16.04LTSのデュアルブート環境を利用していた. Windows10の大型アップデート後にOEMパーティションが想定外のところに作成されたらしく,ブートローダが消えたり,Ubuntuにログインできなくなったり(こちらはOEMパーティションのせいではない?)した.

復旧を試みブートローダを再導入したが,ログイン画面には辿り着くがログインできず.Ubuntu内には特に重要なデータは保存していなかったので再度セットアップすることにした.しかし,SSDの後方50GBぐらいの位置にOEMパーティションが作成されていたため,このままでは中途半端な領域しか確保できない.

OEMパーティションをWindowsのすぐ後ろに移動させたくなった.そして,どうせなら再度Windowsの大型アップデートによる悲劇を起こさないよう,十分な容量をもったOEMパーティションを確保することにした.

現状は

  • Ubuntuのパーティションは削除済み
  • OEMパーティションが前方と後方に2つある

で,こんな感じ.

old

用語など

  • OEM:original equipment manufacturer.WindowsのOEMパーティションにはシステムのリカバリに関する情報が保存されいる.
  • 大型アップデートでOEMパーティションが作成される:既存のOEMパーティションが不十分な場合に新たにOEMパーティションが作成される.デフォルトではディスクの先頭に500MB程度が割り当てられている.しかし,最近の大型アップデート時には800MB以上の領域が必要になるようで,OEMパーティションが足りない→新しいパーティション作成,という流れ.

やりたいこと

これを

old

こうして

new

最終的に確保した領域にもう一度Ubuntuをインストールしたい.

既存のOEMパーティションに保存されている内容は復旧しなくていいことにする.

既存のOEMパーティションの削除(と全体の調整)

Windowsにはディスクドライブを管理するGUIツールとして,ディスクの管理diskmgmt.msc)がある.しかし,OEMパーティションはこちらからは削除できない.diskpartを使って作業することになる.

diskpartを利用する場合には管理者権限が必要になる.コマンドプロンプトからdiskpartと入力すると管理者権限が求められるので,了承すると別ウィンドウでdiskpart.exeが起動する.

## ディスクの一覧表示
list disk
## 操作するディスクの選択
select disk [ディスク番号]
## パーティションの一覧表示
list partition

削除したいパーティションを選択して,削除する.これを削除したいパーティションすべてに対しておこなう. 今回は2つあるOEMパーティションの両方を削除した.

## 削除したいパーティションの選択
select partition [パーティション番号]
## パーティションの削除
delete partition override

overrideは保護されたパーティションを削除する際(force protected パラメーターを設定しないと、保護されたパーティションは削除できません。というエラーが出る場合)に必要.

これで

delete

となっていれば良い.他にいらないパーティションが残っていればそれも削除する.今回は,Ubuntuのパーティションも削除した(こちらはディスク管理から削除できる).

新しいOEMパーティションの作成

引き続きdiskpartコマンドを使って作業していく.事前に適切なボリュームを選択しているものとする.

## パーティションの作成(今回はサイズ4GB)
create partition primary size=4000
## フォーマット
format quick fs=ntfs label="Recovery tools"
## 一時的にボリュームキャラクタを割り当てる
assign letter="R"
## パーティションの種類を設定する
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
## GPT属性を割り当てる
# GPT_ATTRIBUTE_PLATFORM_REQUIRED (0x1)
# GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER (0x8000000000000000)
# これらの組み合わせ
gpt attributes=0x8000000000000001

これで,

OEM

のようになっていれば完了.

あとはUbuntuをインストールするだけ.今回はついでにUbuntu18.04LST(デスクトップ版)に切り替えた. これで今後はOEM領域について悩まされないで済むと嬉しい.要経過観察.

参考