mieki256's diary



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) を使って行う。

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キーを叩けばブートメニューが表示されるので、そこから起動デバイスを選ぶ。

途中でアレコレ尋ねてくるあたりは、 _昨日 のメモを参考に。

作業前のパーティション構成は以下。
  • /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がインストールされているパーティションをマウントするためのディレクトリを作成。ディレクトリ名は何でもいい。たぶん。
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: 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側の容量が足りなくてエラーが発生しそうな気がする…。

#2 [linux] swapパーティションを設定

ふとなんとなく、Gateway M-2408j + Linux Mint 21.1上で、swap のサイズを増やしたいなと思い立ってしまって。

GParted live を使って swapパーティションのサイズを 1.7GBから4GBに増やしてから、linux swap としてフォーマットをかけたところ、Linux Mint 21.1 が起動する際に swapパーティションを見つけられず、起動が随分と待たされる状態になってしまった。やっちまった。

以下を参考にして修復作業。

_Linux | SWAP領域の確認と作成 - わくわくBank
_/etc/fstabのデバイス名が変化し起動失敗した時の対処法【UUIDで解決!】|株式会社ネットアシスト

以下でswapの状態を確認できる。実行してみたら何も出てこなかったので、swapが有効になってない状態なのだろう…。
sudo swapon -s

swap領域を作成。今回 swapとして使いたいパーティションは /dev/sda6。
$ sudo mkswap /dev/sda6
mkswap: /dev/sda6: 警告: 古い swap 署名を消去しています。
スワップ空間バージョン 1 を設定します。サイズ = 4.1 GiB (4399820800 バイト)
ラベルはありません, UUID=1e053734-5db9-46ee-b790-93fd19d29eca

swapとして指定。
$ sudo swapon /dev/sda6

$ sudo swapon -s
Filename                                Type            Size            Used            Priority
/dev/sda6                               partition       4296700         0               -2
swapが有効になった。

ところで、mkswap を使った時に出てきたUUIDとはなんぞや。

_UUIDとは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
_UUID - Wikipedia
_UUID

ユニークなIDをHDDのパーティションにつけることで今後の管理を楽にしよう、ということなのかな。たぶん。

blkid というコマンドを使って、UUID を確認できる。
$ sudo blkid
/dev/sda2: LABEL="Partition_1" BLOCK_SIZE="512" UUID="3CF00E26F00DE74C" TYPE="ntfs" PARTUUID="2bab359d-02"
/dev/sda5: UUID="55c2b3ae-1716-4184-b19c-05a1f97c36fc" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="2bab359d-05"
/dev/sda1: LABEL="Recovery" BLOCK_SIZE="512" UUID="4252930E529305B7" TYPE="ntfs" PARTUUID="2bab359d-01"
/dev/sda6: UUID="1e053734-5db9-46ee-b790-93fd19d29eca" TYPE="swap" PARTUUID="2bab359d-06"

今回は以下のような構成だから…。Linux swap の UUID は、"1e053734-5db9-46ee-b790-93fd19d29eca" ということらしい。
/etc/fstab を修正してswapを永続化してみる。おそらく、/etc/fstab 内で今まで指定してたUUIDと、今現在のUUIDが違ってしまったので、swapパーティションを見つけられない状態になったのだろう…。
sudo vi /etc/fstab
# swap was on /dev/sda6 during installation
UUID=1e053734-5db9-46ee-b790-93fd19d29eca none            swap    sw              0       0

ただ、巷の解説記事を眺めた感じでは…。昨今は linux swap のパーティションを作らずに、swapファイルを作ってどうにかする場合が多そうに見えた。わざわざswap用のパーティションを作るのは時代遅れなのだろうか?

まだ時間がかかる。 :

Linux Mint 21.1 起動時に、swapパーティションを見つけてくれるようになったけど、まだ何かをチェックするところで時間がかかる。"scanning for btrfs file systems" と表示されたところで、十数秒待たされてしまう。

_[SOLVED] Very Slow boot time on Mint-19.3
_ubuntu - How to get rid of the “scanning for btrfs file systems” at start-up? - Unix & Linux Stack Exchange
_resume - Swap: From partition to file, now get "no matching swap device is available" - Ask Ubuntu
_Ubuntu18.04でハイバネート(休止状態)ができない

上記のやり取りで、「btrfs はそもそも使ってない環境が多いだろうからアンインストールしてみたらどうか」という話があったので試してみる。

sudo apt purge btrfs-tools btrfs-progs
sudo update-initramfs -ukall
ちなみに、上記を実行したら、Linux Mint に標準でインストールされているバックアップツール、timeshift もアンインストールされた。

$ sudo update-initramfs -ukall
update-initramfs: Generating /boot/initrd.img-5.15.0-60-generic
W: initramfs-tools configuration sets RESUME=UUID=8f8f3f59-dd26-4779-b96a-2d6d75a3d620
W: but no matching swap device is available.
I: The initramfs will attempt to resume from /dev/sda6
I: (UUID=1e053734-5db9-46ee-b790-93fd19d29eca)
I: Set the RESUME variable to override this.
...

update-initramfs とやらを実行した際に、警告が表示されていることに気づいた。ひょっとして、RESUMEとやらの指定で、古いswapパーティションのUUIDが記述されたままなのでは…? そこも修正しないといかんのではないか。

sudo vi /etc/initramfs-tools/conf.d/resume
RESUME=UUID=1e053734-5db9-46ee-b790-93fd19d29eca

変更してから、再度 sudo update-initramfs -ukall を実行。警告が出てこない状態になった。この状態で再起動をかけたら、起動時に待たされる症状は無くなった。

おそらく、btrfs云々は関係なくて、initramfs云々で存在しないUUIDが指定されてたのが問題だった気がしてきた。

以上、1 日分です。

過去ログ表示

Prev - 2023/02 - Next
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project