2023/02/27(月) [n年前の日記]
#1 [pc][linux] GParted liveを使ってHDDのパーティションを移動
_昨日、
無料で利用できるパーティション管理ツール GParetd live を使って、Gateway M-2408j のHDDパーティションをリサイズ(縮小)したけれど。ついでにパーティションの移動もやってみたので手順をメモ。昨日のメモとダブってしまう部分もあるけれど…。
ちなみに、Gateway M-2408j のHDDには、Windows Vista と Linux Mint 21.1 64bit版がインストールされていて、デュアルブートできるようにしてある。OSの選択は、Linux Mint インストール時にインストールされた grub (grub2) を使って行う。
ちなみに、Gateway M-2408j のHDDには、Windows Vista と Linux Mint 21.1 64bit版がインストールされていて、デュアルブートできるようにしてある。OSの選択は、Linux Mint インストール時にインストールされた grub (grub2) を使って行う。
◎ GPartedをUSBメモリにインストール。 :
GParted live (gparted-live-1.5.0-1-i686.iso) を、32GBのUSBメモリに、Rufus 3.1 Portabl で書き込んだ。書き込む際にISOモードとDDモードのどちらかを選択するけど、今回はISOモードを選んだ。
_GParted -- Download
_Rufus - 起動可能なUSBドライブを簡単に作成できます
USBメモリから起動。Gateway M-2408j の場合、起動ロゴが出ているタイミングでF10キーを叩けばブートメニューが表示されるので、そこから起動デバイスを選ぶ。
途中でアレコレ尋ねてくるあたりは、 _昨日 のメモを参考に。
作業前のパーティション構成は以下。
作業内容は以下。
GParted の画面で、パーティションを右クリックするとメニューが開くので、「リサイズ/移動」を選べば、縮小、拡張、移動を指定できる。指定が終わったら「適用」相当のアイコンをクリック。今までの指定が順次行われていく。
_GParted -- Download
_Rufus - 起動可能なUSBドライブを簡単に作成できます
USBメモリから起動。Gateway M-2408j の場合、起動ロゴが出ているタイミングでF10キーを叩けばブートメニューが表示されるので、そこから起動デバイスを選ぶ。
途中でアレコレ尋ねてくるあたりは、 _昨日 のメモを参考に。
作業前のパーティション構成は以下。
- /dev/sda1 Windows Vista用の何か
- /dev/sda2 Windows Vista 約160GB
- /dev/sda3 拡張パーティション
- /dev/sda5 Linux Mint 約50GB
- /dev/sda6 Linux swap
作業内容は以下。
- Windows Vista用のパーティションを160GBから120GBにリサイズ(縮小)。
- 40GBほど空き領域ができるので、拡張パーティションの先端を前にずらす。
- Linux Mint 用パーティションと Linux swap も前に移動した。移動する際、「この処理をするとOSがブートできなくなるよ」と警告が出てきたけど、そのまま作業を進めた。
GParted の画面で、パーティションを右クリックするとメニューが開くので、「リサイズ/移動」を選べば、縮小、拡張、移動を指定できる。指定が終わったら「適用」相当のアイコンをクリック。今までの指定が順次行われていく。
◎ grub2の再インストール :
OSのブート領域が入ってるパーティションを移動してしまうと、grub2 の起動時におかしくなって Linuxなどが起動しないので、grub2 の再インストールが必要になるらしい。
再インストールの手順は以下に書いてあった。
_GParted -- GParted Manual
Gparted live の入ったUSBメモリで起動して、GParted を閉じてから、デスクトップ上の Terminal をダブルクリックして端末を開いて、コマンドを打ち込んでいく。
ちなみに、Gparted live で起動した際、ユーザ名は user、パスワードは live になってるらしい。root のパスワードは設定されてない模様。sudo を使って管理者権限でコマンド実行ができる。
_GParted -- Live CD/USB/PXE/HD
今回、Linux Mint の入ってるパーティションは /dev/sda5。
Linuxがインストールされているパーティションをマウントするためのディレクトリを作成。ディレクトリ名は何でもいい。たぶん。
パーティションをマウント。
もし、/boot を / と別パーティションにインストールしてある場合なら、以下の指定も必要になるらしい。今回は / の中に /boot が入っていたので、この指定はしなかった。
他の重要らしいディレクトリを割り当て。
マウントしたパーティションをルート(「/」)にする…らしい。たぶん。ここでエラーが出たけど、それについては後述する。
grub (grub2) のインストール。Debian や ubuntu は grub-install で良い、と書いてあるように見える。
再インストールの手順は以下に書いてあった。
_GParted -- GParted Manual
Gparted live の入ったUSBメモリで起動して、GParted を閉じてから、デスクトップ上の Terminal をダブルクリックして端末を開いて、コマンドを打ち込んでいく。
ちなみに、Gparted live で起動した際、ユーザ名は user、パスワードは live になってるらしい。root のパスワードは設定されてない模様。sudo を使って管理者権限でコマンド実行ができる。
_GParted -- Live CD/USB/PXE/HD
今回、Linux Mint の入ってるパーティションは /dev/sda5。
Linuxがインストールされているパーティションをマウントするためのディレクトリを作成。ディレクトリ名は何でもいい。たぶん。
sudo mkdir /tmp/linuxmint
パーティションをマウント。
sudo mount /dev/sda5 /tmp/linuxmint
もし、/boot を / と別パーティションにインストールしてある場合なら、以下の指定も必要になるらしい。今回は / の中に /boot が入っていたので、この指定はしなかった。
sudo mount /dev/sda3 /tmp/linuxmint/boot
他の重要らしいディレクトリを割り当て。
sudo mount --bind /dev /tmp/linuxmint/dev sudo mount --bind /proc /tmp/linuxmint/proc sudo mount --bind /sys /tmp/linuxmint/sys
マウントしたパーティションをルート(「/」)にする…らしい。たぶん。ここでエラーが出たけど、それについては後述する。
sudo chroot /tmp/linuxmint
grub (grub2) のインストール。Debian や ubuntu は grub-install で良い、と書いてあるように見える。
# grub-install /dev/sda or # grub2-install /dev/sda
◎ chrootでエラー :
chroot を実行したところでエラーが出た。
エラーメッセージでググると…。
_chroot - ArchWiki
アーキテクチャって何ぞや。要するに、HDDにインストールされているLinux Mint は64bit版だったのに、GParted live は32bit版(i686)を使ってしまったので、「32bit版と64bit版ではアーキテクチャが違うで」となってしまったらしい。たぶん。つまり今回は、GParted live も、HDD内にインストールされてるOSに合わせて64bit版(amd64)を使わないといけなかった模様。
どうせなら、HDDにインストールされている Linux Mint 21.1 のライブCD(DVD?)を使って作業してみることにした。そのほうが確実に作業できるだろう…。
linuxmint-21.1-cinnamon-64bit.iso を入手。Rufus でUSBメモリに書き込み。USBメモリから起動した後の作業手順は前述の通り。
ちなみに、Linux Mint のライブCDで起動した際、ユーザのパスワードは設定されてないらしいので、sudo を使って管理者権限でコマンドを実行する際にパスワードの入力は求められない。
_Linux Mint のデフォルトパスワード(live session password) - simotin13's message
これで、HDDから Linux Mint 21.1 64bit版が起動してくれる状態になった。一応念のために、HDDから Linux Mint が起動した状態で、grub の再インストールと更新をしておいた。
この状態なら、Windows Vista + Linux Mint が240GB未満に収まってくれたはずだから、240GBのSSDにも換装できるんじゃないか…。と思ったけれど調べてみたら HDD から SSD に換装する場合、dd なるコマンドを使って中身を転送することになるようで。となると、HDDの最後のあたりを転送する際にSSD側の容量が足りなくてエラーが発生しそうな気がする…。
chroot: cannot run command '/usr/bin/bash': Exec format error
エラーメッセージでググると…。
_chroot - ArchWiki
chroot: cannot run command '/usr/bin/bash': Exec format error というエラーが表示される場合、ホスト環境と chroot 環境のアーキテクチャが一致していません。
アーキテクチャって何ぞや。要するに、HDDにインストールされているLinux Mint は64bit版だったのに、GParted live は32bit版(i686)を使ってしまったので、「32bit版と64bit版ではアーキテクチャが違うで」となってしまったらしい。たぶん。つまり今回は、GParted live も、HDD内にインストールされてるOSに合わせて64bit版(amd64)を使わないといけなかった模様。
どうせなら、HDDにインストールされている Linux Mint 21.1 のライブCD(DVD?)を使って作業してみることにした。そのほうが確実に作業できるだろう…。
linuxmint-21.1-cinnamon-64bit.iso を入手。Rufus でUSBメモリに書き込み。USBメモリから起動した後の作業手順は前述の通り。
ちなみに、Linux Mint のライブCDで起動した際、ユーザのパスワードは設定されてないらしいので、sudo を使って管理者権限でコマンドを実行する際にパスワードの入力は求められない。
_Linux Mint のデフォルトパスワード(live session password) - simotin13's message
これで、HDDから Linux Mint 21.1 64bit版が起動してくれる状態になった。一応念のために、HDDから Linux Mint が起動した状態で、grub の再インストールと更新をしておいた。
sudo grub-install /dev/sda sudo update-grub
この状態なら、Windows Vista + Linux Mint が240GB未満に収まってくれたはずだから、240GBのSSDにも換装できるんじゃないか…。と思ったけれど調べてみたら HDD から SSD に換装する場合、dd なるコマンドを使って中身を転送することになるようで。となると、HDDの最後のあたりを転送する際にSSD側の容量が足りなくてエラーが発生しそうな気がする…。
[ ツッコむ ]
以上です。