GPartedLiveUSBで使用中Ubuntuパーティション変更
# 概要
Dockerを使用していたらディスク容量が足りなくなってしまった。
色々考えたがパーティションを変更する方が早そう。
GParted Live USBを作成し、使用中のUbuntu機のHDD(SSD)パーティションサイズを変更する。
# 経緯
- Pytorchをいじろうと思ってDockerをUbuntuマシンで立ち上げる
- コンテナを何個か作っていたら容量の警告が出る
- SSDは512GBあるが、購入時、ネット記事を参考に初期設定したらほぼ/home/以下に容量を振ってしまっていた(不覚...)
- Docker関連ファイル保存先を変更しようとした[1]がうまくいかなかった
- Dockerファイルがあるパーティションのサイズを変更した方が早そう
- 使用中マシンのSSDはアンマウントもパーティション変更もできない
- GParted Live USBを作成することに
# GParted Live USBの作成
必要ファイルをダウンロードし、GParted Live USBを作成します。
# zipダウンロード
.isoファイルからイメージディスクを作成する方法がよく出てくるのですが、バージョン変更等に対応しやすいことと、何より面倒なのでUSBで作成します。
ファイルサイズ自体は1GBもないと思うので、8GBのUSBで十分だと思います。
GParted LiveCD公式サイトに進み、downloadページへ。
テスト版等ありますが、安定版(Stable)の最新版を使用しました。
わかりにくいですが、Stable directory (.iso/.zip) (for i686, i686-pae and amd64 architectures)
と書いてあるリンクへ。
記事執筆時点での最新安定版は1.1.0-5
です。
.zipファイルは
- i686
- pae
- amd64
と3種類ありますが、amd64で大丈夫です。(10年以上前のWindowsを使用しているとかでなければ...)
参考:手軽にパーティション編集できる GParted Live 1.0.0-beta1-2 を使ってみよう
# Windowsでブートディスクの作成
ダウンロードした.zipを展開し、ブートディスクとして使用できるようにします。
ブートディスクとして使用できるようにするための.batファイルが含まれているのですが、Macでは実行できないのでWindowsを使用します。
ダウンロードしたファイルをUSBドライブ内に展開。
ドライブの直下に/boot/ディレクトリ等がある状態にする必要があります。
ここから.batファイルを実行しますが、誤ってWindowsのディスク上で.batファイルを実行すると、Windowsが起動しなくなる恐れがあります。
なのでもしWindows上で.zipファイルをダウンロードした場合は、.zipファイルごとUSBに移動してしまうか、実行前にWindows側のファイルは削除する等して、Windows側にファイルを残さないようにした方がよいです。
ここまでできたら、以下のファイルを右クリックし、管理者として実行します。※ドライブパス文字はUSBドライブによって変わります
E://utils/win64/makeboot64.bat
すると、以下のようなコンソール画面が出てくるので、何かキーを押します。
管理者として実行していれば、数秒後以下のように表示されて作成が完了します。
# UbuntuのBootディスク変更
Live USBが作成できたので、Ubuntuマシン側のブート設定を変更します。
マシン起動後、BIOS画面に入ります。
僕が使用しているThinkPadの場合、電源押下後にF1キーを押して入りますが、機種によってF2だったり色々です。
タブ名等も各BIOSによって異なりますので、適宜読み替えてください。
BIOS画面に入ったら、Startup
タブからBOOT
メニューに進み、ディスクの優先度を変更します。
こんな感じで、内臓SSDが最優先にしてある(かもしれない)ので、USB関連より起動優先度を下げます。
これでUSBを挿した状態であれば、USBからBOOTされるようになりました。
# GParted Live USBでGParted実行
マシンを通常起動し、GParted Live USBを起動します。
Live USBの機能にScreen Shotがあったのですが、うまく撮れていませんでした...
この画像結構好き
こんな画面がでて、選択肢がたくさん出るので、
GParted Live(Default Settings)
を選択します。
あとは通常Ubuntuで使用するGPartedと使い方は変わりません。
変更したいようにパーティションを組み直したら、Applyで完了させてください。
スクショ撮れず。
パーティション変更が完了したら、再びBIOSに入り、BOOT優先度をSSD(HDD)最優先に戻し完了です。
# 注意点いろいろ
# Partition変更について
GParted起動時にも表示されますが、/boot/が含まれるパーティションを移動、変更するとUbuntuが起動しなくなる可能性があります。
僕の作業時は/boot/が含まれるディレクトリの拡張で済んだので大丈夫でしたが、作業前には必ずバックアップ[2]を取ることをお忘れなく...
# パーティション間の1MB未割り当て領域
GPartedでの作業時、パーティションとパーティションの間に1MBの未割り当て領域ができてしまい、変更ができない、ということがありました。
結果として解決したのですが、備忘メモで残しておきます。
パーティション割り当ては、このような順番になっています。
(1)`/`以下 (2)SWAP (3)`/home/`以下
画像が残っていないのですが、最初、右端に1MBの未割り当て領域が残ったままになってしまいました。
以下の手順を踏んだところ、未割り当て領域をなくすことができました。
- (3)の領域を縮小
- (1)の領域を拡大
- ここで(1)と(2)の間に1MB未割り当て領域が発生
- (2)を(1)側へずらす
- 3.で発生した未割り当て領域が(2)と(3)の間へ移動する
- (3)を(2)側へずらす
- 全ての未割り当て領域が一番右端にまとまる
- (3)の領域を増やす