LoginSignup
3
3

More than 5 years have passed since last update.

パーティションを切ったりする

Posted at

以下のような構成で(Windows7とArch Linuxのデュアルブート)

/dev/sda1 プライマリパーティション1
/dev/sda2 〃2
/dev/sda3 〃3
/dev/sda4 拡張パーティション
/dev/sda5 論理パーティション1(データ用)
/dev/sda6 論理パーティション2(Arch Linux本体)

/dev/sda5を少し削ってパーティションを増やしたときのメモ。

パーティションを切ってフォーマットする

全部Arch Linux上で作業しようと思ったが、GNU Partedでパーティションのリサイズができないようだったので(昔のバージョンではできていたようだ)、以前に経験のあったWindows7上でやることにした。

Windows7ではスタートメニュー→コンピュータを右クリック→管理でそれっぽい画面が出てくるので、それで適当に切る。このツールは結構便利だと思う。

次に切ったパーティションをフォーマットする。たぶんWindows 7でもできたのかもしれないけど、何も考えずにフォーマットしたらfat32とかになってたのでArch Linuxでext3にフォーマットしなおした。このとき使ったツールはgparted(GUIのほうがなんとなくやりやすかった……)で、kde上ではsudo gpartedで起動できないことがあるのでgksu gpartedもしくはgksudo gpartedで起動する。これも適当にフォーマットできる。

ここまでで次のような構成になる

/dev/sda1 プライマリパーティション1
/dev/sda2 〃2
/dev/sda3 〃3
/dev/sda4 拡張パーティション
/dev/sda5 論理パーティション1(データ用)
/dev/sda7 論理パーティション3(新しく作ったやつ)
/dev/sda6 論理パーティション2(Arch Linux本体)

順番がおかしくなってるので、# fdisk -l /dev/sdaとかで文句を言われてしまう。これはfdiskで適正な順序に直すことができる。

$ sudo fdisk /dev/sda/
x (上級者コマンドモード)
f (適正な順序にする)
w (変更を書き込む)

すると次のようになる

/dev/sda1 プライマリパーティション1
/dev/sda2 〃2
/dev/sda3 〃3
/dev/sda4 拡張パーティション
/dev/sda5 論理パーティション1(データ用)
/dev/sda6 論理パーティション2(新しく作ったやつ)
/dev/sda7 論理パーティション3(Arch Linux本体)

grubの書き換え

ところで、この環境ではArch Linux上のブートローダを使っていたので、このままではブートできない(MBRがGRUBを探せないため)。なので、MBRを書き換える。MBRの書き換えにはgrub-installを使うが、パーティション構成が変更されたままの状態で実行すると"The file /boot/grub/stage1 not read correctly."というようなエラーになってしまう。これは実際のパーティション構成と/etc/fstabや/etc/mstabの内容が矛盾しているためであるらしい(参考)。これを解消するために/etc/fstabを正しく書き直し、/etc/mstabを削除してからmount -f /を実行して/etc/mstabを再作成するとよいらしい。

/boot/grub/menu.lstも書き換える必要がある。パーティションが一つずれたので

# (0) Arch Linux
title  Arch Linux
root   (hd0,5)
kernel /boot/vmlinuz-linux root=/dev/sda6 ro
initrd /boot/initramfs-linux.img

となっていたのを

# (0) Arch Linux
title  Arch Linux
root   (hd0,6)
kernel /boot/vmlinuz-linux root=/dev/sda7 ro
initrd /boot/initramfs-linux.img

に書き換える。最後にsudo grub-install /dev/sdaとコマンドを打てばよい(この場合は該当しないが、/と/bootが違うパーティションならばsudo grub-install --root-directory=/ /dev/hdaとする必要がある)。再起動して問題なければ成功です。

起動しないとき

作業中grub-installを忘れてしまい、MBRがGRUBに辿りつけずまったく起動できなくなってしまった。Arch Linuxのインストール用のイメージを突っ込んであるUSBがまだあったので、それを使ってUSBブートし、パーティションを消したりmenu.lstを書き換えたりとかいうことをしました。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3