このハウツーの目的は、Ubuntu Linux パーティションを同じハードディスク内または別のハードディスクに移動する方法を説明することです。
インターネット上の多くの同テーマの記事は、以下の部分が古いようです。
- Grub2 (Ubuntu 9.10 and later)
- UUID for partition identification (Ubuntu 6.10 and later)
したがって、この記事の主目的はギャップを埋めることと、手順全体のための1ストップ参照であります。
以下は、関連するステップの概要です。
- 新しいターゲットパーティションを作成
- 現在の Linux パーティションをターゲットパーティションにクローン
- ターゲットパーティションの UUID を生成して更新
- grub と fstab を更新
- 新しい grub を指すように MBR を更新する。
私が行ういくつかの仮定は次のとおりです。
- お使いのUbuntuは9.10以降
- Ubuntuはext4パーティション(gpartedは他のファイルシステムもコピー&ペーストできるはずです。
- Ubuntuの設定は標準的なもの(あまりカスタマイズしていない)
- Grub2 はブートローダ
-
SystemRescueCd – – (英語版のみ)
-
Grub2 はブートローダです。 5035>
- swap パーティションを変更しない
もし上記の仮定があなたのシステムに当てはまらない場合は、このCDを使用することをお勧めします。 以下の手順を注意深く実行する必要があります。
ステップ 1: レスキュー CD から起動する
-
SystemRescueCd のコピーはここから入手できます。
- これを CD に焼きます。
- そして、レスキュー CD から起動するためにマシンを再起動します。
- CD から起動できるようにするには、bios の設定を変更する必要があるかもしれません
- デフォルト起動オプションを選択し、一度「wizard」と入力します
- これで X desktop が起動されるはずです。
Step 2: 新しいパーティションの作成
- スタートメニューから gparted を起動
- gpartedを使ってターゲットハードディスクに新しいパーティションを作成します。
-
新しいパーティションのサイズは、現在の Ubuntu パーティションの使用領域と同じかそれ以上であることを確認します。
- また、現在の Ubuntu パーティションをマウントして、パーティション内の不要なファイルをクリーンアップして、サイズを小さくすることもできます。
shell> mkdir ~/ubuntushell> mount /dev/sdZY ~/ubuntuorshell> mount /dev/hdZY ~/ubuntu# where ZY is your ubuntu partition's block device name (you can find this from gparted window)shell> cd ~/ubuntu
- そして、終わったら、必ずアンマウントしてください
shell> umount ~/ubuntu
Step 3: Ubuntuパーティションを新しい場所にクローンする
- gpartedウィンドウで、Ubuntuパーティションを右クリックして「コピー」を選択
- 次に、今作成した新しいパーティションを右クリックして「ペースト」を選択
- ステップバイステップのコピー処理が開始されるでしょう。 これはしばらく時間がかかるかもしれません。
- 同じ目的で dd を使用することもできますが、私は gparted を好みます。
- データをコピーする最適な方法(ブロックサイズ)を計算してくれます。 UUIDの生成と更新
- ステップ3のコピー&ペーストで全く同じUUIDの新しいパーティションを生成するので、これが衝突してgrubがパーティションを見分けられなくなるのです。 したがって、新しいパーティションで UUID 情報を更新する必要があります。
- 以下は、現在の UUID のチェックです (UUID の重複に気づくはずです)
shell> blkid
- そして以下は、UUID を生成して更新する方法です。
shell> tune2fs -U random /dev/sdZYorshell> tune2fs -U random /dev/hdZY# where ZY is your new partition's block device name (you can obtain this from gparted window)
- Verify UUID (すべてのUUIDはユニークであるべき)
shell> blkid
Step 5: grub と fstab の更新
- Rescue system から通常の Ubuntu にシステムを再起動
-
元の Ubuntu に起動したら、gnome -> Places オプションでパーティションをマウント
- grub.Disk を編集する
- grub.Disk を編集する
gnome -> Places オプションでパーティションをマウント。cfg ファイルを新しいパーティションから編集します。
- データをコピーする最適な方法(ブロックサイズ)を計算してくれます。 UUIDの生成と更新
shell> gksu gedit /media/<new partition uuid>/boot/grub/grub.cfg &
-
Note that you should edit grub.cfg from new partition, not from “/boot/grub/grub.cfg”.cfg”
- Gedit を使って、すべての “(hdX,Y)” を適切に検索して置換します。
- X と Y は新しいパーティションの /dev/sdZY または /dev/hdZY に基づいて置換し、Z が ‘a’ なら X は ‘0’ 、Z が ‘b’ なら X は ‘1’ といった具合にします。
-
gedit を使用して、すべての “–fs-uuid –set <UUID>” を新しい生成 UUID に基づいて検索および置換します。
- また、まだ同じファイル内で、すべての ‘menuentry ‘Ubuntu…’ を “menuentry ‘UBUNTU…” に書き換えてください。 これは、メインブートメニューにどのgrubが使用されているかを確認するためです。 これは、後でgrub-updateによって上書きされます。
- 新しいパーティションから fstab ファイルを編集
shell> gksu gedit /media/<new partition uuid>/etc/fstab &
-
Note that you should edit grub.cfg from new partition and not from “/etc/fstab”
-
gedit を使ってルートマウント点 (「/」のある行) <UIID> を新しい生成 UUID に従って検索して置換してください。
Step 6: 新しい grub を指すように MBR を更新
- さて、あなたのシステムには、2 つの適切なブータブル Ubuntu があり、今のアイデアは新しい Ubuntu パーティションを古い Ubuntu パーティションに依存しないセルフブート可能にすることです。 そして、最終的には古いUbuntuパーティションに乗るようにすることです。
- MBR を更新する前に。 現在の MBR データをバックアップする
shell> sudo dd if=/dev/sdZ of=~/sdZ.img bs=1 count=512orshell> sudo dd if=/dev/hdZ of=~/sdZ.img bs=1 count=512# where Z is your old Ubuntu partition's block device name# note that device name is without 'Y'; without partition id.
-
パーティションを gnome – でマウントする。> Places オプション (マウントされていない場合)
- Run grub setup for new partition
shell> sudo grub-install -d /media/<new partition uuid>/usr/lib/grub/ /dev/sda
起動可能にしたいバージョンの場所
- Update new ubuntu partition as bootable
gnome> Run the "Disks" application
- 古い Ubuntu パーティションを検索して選択し、パーティションをハイライトします
- 「設定」ギアボタンをクリックして「マウント オプションの編集」を選択します
- 「マウント時」のチェックをはずします
- 古い Ubuntu パーティションを選択します。 Startup” と “OK” をクリック
- Find and select your new Ubuntu partition to highlight
- Click “Settings” gear button and select “Edit Mount Options”
- Set “Automatic Mount” for the partition. オプション」をOFFにする
- 「起動時にマウントする」をチェックする
- 「ユーザーインターフェースに表示する」と「マウントに追加の認証を必要とする」はチェックしない
- マウントオプションは「エラー=リマウント-」にする。ro”
- Mount point should be “/”
- Click “OK”
- 再度マシンを再起動する
- 起動時に、, 新しいパーティションのgrubメニューが次のように表示されていることを確認します。
1) UBUNTU...
- 最後に、新しいUbuntuパーティションで再起動に成功したら、次のようになります。
- GRUB 2 メニューをリフレッシュ
sudo update-grub
- 古い Ubuntu パーティションを削除する前に、新しいパーティションの Ubuntu が完全に正常であることを確認することです。
- 古い Ubuntu パーティションに戻す場合は、バックアップした MBR イメージを復元すればよい。
shell> sudo dd if=~/sdZ.img of=/dev/sdZ bs=1 count=512orshell> sudo dd if=~/sdZ.img of=/dev/hdZ bs=1 count=512# where Z is your old Ubuntu partition's block device name# note that device name is without 'Y'; without partition id.
See Also
-
Grub2 に関する情報
-
UUID に関する情報
-
Moving partition via gparted
-
Thanks to tact
-
How To Backup Operating Systems
CategorySystem
-