
Ubuntu日本語フォーラム

ログインしていません。
dellのinspiro mini9にubuntu8.04をいれて使っています。SSDの容量が少なくバックアップのことも考えて/home以下をSDHCに移したいと思っています。
別パーティションや外付けHHDへの移動はウェブでも解説されていますが、SDHCへはどうすれば良いのか分かりません。
当方linux初心者ですが一生懸命勉強するつもりです。どなたか知恵をおかしください。よろしくお願いします。
オフライン
補足です。参考になるかわかりませんが、、
GPartedでは
SSD: /dev/sda (マウントポイント; /、/dev/.static/dev)
SD : /dev/mmcblk0p1 (マウントポイント; media/disk)
となています。
オフライン
SDHC も ハードディスクもやり方は同じです。
ハードディスクだと
/dev/sda1
というデバイス名ですが,
SDHCだと
/dev/mmcblk0p1
というデバイス名になるみたいです。
/dev/sda1 を /dev/mmcblk0p1 と書き換えてやれば,
HDDで,行っている手順と同一で出来ます。
だと,かなり不親切なので,(^^; 詳しい以下に手順を書いておきます。
(もっと簡単で安全な方法をご存知の方は,つっこみをお願いします・・・。)
これらの手順は色々確認しながら,慎重に行って下さい。
失敗すると,ホームディレクトリのデータが消えたり,ホームディレクトリがなくなってログイン出来なくなります。
それと,SDHC のディスクフォーマットは,FAT32じゃなくて,
ext3とかext2 等の Linux標準のディスクフォーマットをしておかないと,
コピーするとLinuxのパーミッション(ファイルの属性)の
実行可能属性やオーナーやグループの情報がなくなってしまいます。
(ただし,FAT32以外のフォーマットにすると,デジカメやWindowsで使えなくなります。使いたい場合は,FAT32にフォーマットしなおす必要があります。)
フォーマットしなおすと,SDHCの内容は消えてしまうので,必要なファイルを入れている場合は,どこかにコピーしておいてください。また,違うデバイスではないか,確認してください。
ディスクフォーマットの確認方法は,端末から
mount
と実行して
/dev/mmcblk0p1 on /media/disk type vfat (rw,nosuid, ...)
という風な表示の type が vfat なら,FAT32などのFATです。
フォーマットがext3やext2なら,
/dev/mmcblk0p1 on /media/disk type ext3 (rw,nosuid, ...)
や
/dev/mmcblk0p1 on /media/disk type ext2 (rw,nosuid, ...)
となります。
ext3 でSDHC をフォーマットするなら,
sudo umount /media/disk
sudo mkfs.ext3 /dev/mmcblk0p1
としてください。
フォーマットが終わったら,一旦SDHCを抜き,もう一度さしこんで,参照すれば,
mount コマンドで
/dev/mmcblk0p1 on /media/disk type ext3 (rw,nosuid, ...)
という風に出れば,ディスクのフォーマットが ext3 で出来ています。
そして,単純にバックアップだけなら,
sudo rsync -a /home/ /media/disk/
でSDHCにコピー出来ます。
rsync コマンドは,単純なcpコマンドによるコピーと違って,できる限りオリジナルのままコピーしてくれます。バックアップのコピーに最適です。(rsyncはリモートとのファイル・ディレクトリのシンクロコマンドですが,ローカル間でも使えます。)
/media/disk の中身が /home の中身と同一か確認してください。
sudo gedit /etc/fstab
で 編集して
以下の様な行を追加します。
UUID=29f45859-3bcf-4483-b7e2-9fcce426ec14 /home ext3 defaults 0 0
ただし,UUID=の長い文字は
ls -l /dev/disk/by-uuid | grep mmcblk0p1
コマンドを実行して
lrwxrwxrwx 1 root root 10 2008-12-09 01:05 29f45859-3bcf-4483-b7e2-9fcce426ec14 -> ../../mmcblk0p1
と言う風に出てきたものを指定します。(ディスクのパーティッションごとにユニークな値です)
Ubuntuを再起動してください。
再起動後, mount や df -h を実行すると /dev/mmcblk0p1 が /home にマウントされていると思います。
これでうまくいくかどうか確認してください。
SSDの中の /home を消すのは,ちょっと工夫が必要です。
/home は SDHCの中身になっているので,SSDの中身の/home が見えなくなります。
SSDの /home を参照するには,SDHCのマウントを解除してから削除しなければなりません。
しかし,/home の中身を削除するには,ユーザがログイン中だと削除出来ません。
そうなると,リカバリーモードで起動しなければなりません。
リカバリーモードは端末だけで,GUIなしになるので,いろいろ不自由します。
もし,ライブCDが使用可能なら,ライブCDで起動して編集するほうが簡単かもしれません。
ここではリカバリーモードでの手順を書きます。
再起動でESCキーを押して,grubメニューを表示して,
リカバリーモード起動し,出てきたメニューから rootの端末に落ちるを選び,端末に移動します。
mountコマンドで,/home が SDHC ( /dev/mmcblk0p1 ) にマウントされていることを確認します。
umount /home
で,SDHCのマウントを解除します。
もう一度
mount
コマンドで 今度は,
/home が SDHCにマウントされていないのを確認します。(これがあると,SDHCの中身を消してしまいます・・・。要注意です。しっかり確認しましょう。)
/dev/mmcblk0p1 とか /home が無いことを確認出来たら,
SSDの /home 以下を削除します。(本当に消すので,上記のすべてがうまくいっているかどうか分からない時は,止めましょう。)
cd /home
rm -Rf *
再起動します。
reboot
当然ですが,/homeがSDHCになるので,動作中にSDHCを抜かない様に注意しましょう。
最後の編集者: sato_si (2008-12-08 23:47:14)
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
最後の編集者: kiyoshi (2008-12-09 02:01:21)
オフライン
と言う風に 頭に # をつけて保存し,/home が SDHCになるのを防ぎます。
は,書き間違いです・・・。
書いている途中で これがなくても,いける方法を思いつきましたので,
途中から取り除いているつもりで書いていました。
なので,
$ sudo gedit /etc/fstab
で上記の
UUID= ・・・ /home ・・・
の最初に#をつけて
# UUID=・・・ /home ・・・
は,しないで下さい。 してしまうと,ややこしくなってしまいます・・・。
あとで,# を取り除く方法がややこしいためです。(viなど使って,#を取り除かないといけないためは厳しいと思われます。)
最後の編集者: sato_si (2008-12-08 23:42:57)
オフライン
※規約違反により追放されたユーザの投稿は、ログインユーザにのみ表示されます。
最後の編集者: kiyoshi (2008-12-09 02:37:39)
オフライン
修正後の#3のやり方で万事うまくいきました。
丁寧な解説ありがとうございました。
はじめ、rsyncコマンドが使えずcp -r /home /media/diskとしたときはコピーがうまくいかなかったようで、再起動時ログインができなくなってしまいました。そこで少々てこずりましたが、その後synapticでrsyncをインストールすればいいことに気づき、その先は教えていただいた通りで問題なく進みました。
今後はsato_siさんkiyoshiさんのようになるべく精進していきたいと思います。
本当にありがとうございました。
オフライン