UNIX的なアレ

UNIX的なこととかいろいろ

Inspirion mini 9 へ Disk領域を追加する方法


Dell Inspirion mini 9 を使い始めて1週間が経過しました。
しかしながら、メモリとDisk容量が問題になってきますね。今回はDisk容量の変更方法について説明をしていきたいと思います。

SDカードをマウントする

それではubuntuを立ち上げて、SDカードスロットに差し込みましょう。
自動的にSDカードがマウントされ、認識されると思います。では、状態確認です。

$ df -h
Filesystem            サイズ  使用  残り 使用% マウント位置
/dev/sda2             3.4G  2.8G  472M  86% /
varrun                442M  100K  442M   1% /var/run
varlock               442M     0  442M   0% /var/lock
udev                  442M   40K  442M   1% /dev
devshm                442M   12K  442M   1% /dev/shm
gvfs-fuse-daemon      3.4G  2.8G  472M  86% /home/wadap/.gvfs
/dev/mmcblk0           16G  168M   15G   2% /media/disk

さて、上記のようになっているでしょうか?
このようになっていればOKです。それではパーティションを切っていきましょう。

パーティション切る

それでは、/home用と/usr/local用にパーティションを2つ切っておきます。
上記の例ですと/dev/mmcblk0 がSDカードのデバイス名です。それではumountをしたうえでパーティションを切っていきましょう。

$ sudo umount /media/disk/
$ sudo fdisk /dev/mmcblk0 

以下はfdiskで対話形式でパーティションを切っています。基本的に入力項目は少ないです。

デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
Building a new DOS disklabel with disk identifier 0x648aeaf7.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

このディスクのシリンダ数は 495616 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
   (例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): p 

Disk /dev/mmcblk0: 16.2 GB, 16240345088 bytes
4 heads, 16 sectors/track, 495616 cylinders
Units = シリンダ数 of 64 * 512 = 32768 bytes
Disk identifier: 0x648aeaf7

  デバイス Boot      Start         End      Blocks   Id  System

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-495616, default 1): 
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-495616, default 495616): +4096M

コマンド (m でヘルプ): n
コマンドアクション
   e   拡張
   p   基本領域 (1-4)
p
領域番号 (1-4): 2
最初 シリンダ (125002-495616, default 125002): 
Using default value 125002
終点 シリンダ または +サイズ または +サイズM または +サイズK (125002-495616, default 495616): 
Using default value 495616

コマンド (m でヘルプ): p

Disk /dev/mmcblk0: 16.2 GB, 16240345088 bytes
4 heads, 16 sectors/track, 495616 cylinders
Units = シリンダ数 of 64 * 512 = 32768 bytes
Disk identifier: 0x648aeaf7

  デバイス Boot      Start         End      Blocks   Id  System
/dev/mmcblk0p1               1      125001     4000024   83  Linux
/dev/mmcblk0p2          125002      495616    11859680   83  Linux

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

さて、fdiskのコマンドのLogを貼り付けました。ちょっとわかりづらいかもしれませんが、最終的には好みでパーティションを切ってしまいましょう。
/home用に4G/usr/local用に残りの領域をというイメージで切っています。

ファイルシステムの作成

それではファイルシステムを作ります。

$ sudo mkfs.ext3 /dev/mmcblk0p1
$ sudo mkfs.ext3 /dev/mmcblk0p2

いろいろとメッセージが表示されます。これでファイルシステムの作成は完了です。

データの同期

/home と /usr/local のデータを同期しましょう。rsyncを使って同期しますが、rsyncがインストールされていないのでそこから始めます。

まずはrsyncのインストールです。

$ sudo apt-get install rsync

それではつぎはSDカード上に作成したファイルシステムをマウントします。マウントポイントは/tmpへ作成します。

$ mkdir /tmp/home /tmp/local
$ sudo mount -t ext3 /dev/mmcblk0p1 /tmp/home
$ sudo mount -t ext3 /dev/mmcblk0p2 /tmp/local
$ df -h | grep "/dev/mmcblk"
/dev/mmcblk0p1        3.8G  273M  3.4G   8% /tmp/home
/dev/mmcblk0p2         12G  158M   11G   2% /tmp/local

最後にdfで確認をしています。正常にマウントできていれば上記のように表示されます。

それでは、データの同期を開始しましょう。

$ sudo rsync -avz /home/ /tmp/home/
$ sudo rsync -avz /usr/local/ /tmp/local/

これでデータの同期が完了です!

/etc/fstabの修正

最後に、起動時に自動的にマウントさせるために/etc/fstabを修正します。下記のコマンドをつかって、マウントするための情報を追記します。

$ sudo cp -ip /etc/fstab{,.`date +%Y%m%d`}
$ sudo tee -a /etc/fstab << EOF
/dev/mmcblkop1	    /home	    ext3 defaults       0 0
/dev/mmcblk0p2	    /usr/local	    ext3 defaults       0 0
EOF

それでは再起動しましょう!

再起動後の確認

無事、起動してきたらOKです!最後に正常にマウントできているか確認してみましょう。

$ df -h
Filesystem            サイズ  使用  残り 使用% マウント位置
/dev/sda2             3.4G  2.8G  521M  85% /
varrun                442M  116K  442M   1% /var/run
varlock               442M  4.0K  442M   1% /var/lock
udev                  442M   52K  442M   1% /dev
devshm                442M   12K  442M   1% /dev/shm
/dev/mmcblk0p1        3.8G  268M  3.4G   8% /home
/dev/mmcblk0p2         12G  158M   11G   2% /usr/local
gvfs-fuse-daemon      3.4G  2.8G  521M  85% /home/wadap/.gvfs

このように、/home , /usr/local がマウントできていることを確認してください。またそれぞれのディレクトリにある情報も正しいか確認をしましょう。
正常に動作しているようならこれで完了です!

激安PCで思うこと

この手のPCってデフォルトだと非常に安価ですが、メモリ増やしたりDisk容量あげたり・・・とやっていくとそこそこの値段がしてしまいますよね。
個人的には安いまま購入をして、自分でいろいろいじっていく方が安くあがりますし面白いのではないかなと思っています。また変更した点があれば本Blogにて記述していきたいと思います。