Linuxホームディレクトリを別のドライブに移動する方法
公開: 2022-01-29Linuxホームフォルダを別のドライブに移動したいですか? これは、どのディストリビューションでも機能するはずの、簡単で段階的な方法です。 ホームフォルダを移動すると、Linuxを再インストールでき、個人ファイルについて心配する必要がなくなります。
なぜあなたのホームフォルダを分離しておくのですか?
新しいマシンをセットアップする場合、または既存のマシンにハードドライブを追加する場合は、ホームディレクトリをデフォルトの場所とは別のドライブに配置することをお勧めします。
最近のパーソナルコンピュータでますます普及している構成は、オペレーティングシステムを保持する中型のソリッドステートドライブ(SSD)と、データのメインストレージとしてより大きなソリッドステートハイブリッドドライブ(SSHD)または従来のハードドライブ(HD)を使用することです。 または、システムに従来のハードドライブが1台あり、ストレージを増やすために新しいHDを追加した場合もあります。 あなたの理由が何であれ、ここにあなたのホームディレクトリを移動する簡単で一撃一撃のランスルーがあります。
ちなみに、Linuxシステムを最初からインストールする場合は、Linuxディストリビューションのインストーラーに別のホームディレクトリを作成するオプションが表示される可能性があります。 通常は、パーティションオプションに移動し、別のパーティションを作成して、「/ home」にマウントする必要があります。 ただし、Linuxディストリビューションを既にインストールしている場合は、これらの手順を使用して、何も失うことなく、またはオペレーティングシステムを再インストールすることなく、現在のホームディレクトリを新しい場所に移動できます。
さて、始める前に、バックアップを作成してください。
関連: rsyncを使用してLinuxシステムをバックアップする方法
ドライブを特定する
ドライブをLinuxコンピューターに取り付けたばかりの場合、またはLinuxを新しいマルチドライブコンピューターのドライブの1つにインストールして再起動した場合、新しいドライブが存在するという証拠はほとんどありません。
fdisk
コマンドは、ドライブとそのパーティションを一覧表示します。
sudo fdisk -l
新しいドライブを特定するまで、出力をスクロールします。 最初のドライブの名前は/dev/sda
、2番目のドライブの名前は/dev/sdb
などで、最後の文字は毎回増加します。 したがって、 /dev/sde
はシステムの5番目のハードドライブになります。
この例では、新しいドライブはシステムに取り付けられる2番目のドライブです。 したがって、 /dev/sdb
のエントリを探す必要があります。
/dev/sdb
は上で強調表示されています。 パーティションを説明する行がないことに気付くでしょう。 これはまったく新しいドライブなので、まだ搭載されていません。 パーティションを作成する必要があります。 fdisk
を使用してこれを行うことができます。 ハードドライブが/dev/sdb
でない場合は、コマンドで新しいハードドライブの実際のドライブ識別子を/dev/sdb
に置き換えてください。
sudo fdisk / dev / sdb
fdisk
がコマンドの入力を求めてきたら、文字p
を押します。 これにより、ハードドライブのパーティションテーブルが印刷されます。 ドライブがないことはわかっていますが、ドライブに関するいくつかの有用な情報を入手できます。 これにより、パーティションを作成するドライブが、使用する予定のドライブであることを確認する良い機会が得られます。
ドライブが1TBドライブであることがわかります。これは、このテストマシンで期待されるものと一致するため、次に進みます。
パーティションを作成する
新しいパーティションの場合は文字n
を押し、次にプライマリパーティションの場合はp
を押します。 パーティション番号の入力を求められたら、番号1
を押します。
ディスク全体に対して単一のパーティションを作成するので、最初のセクターの入力を求められたら、Enterキーを押してデフォルト値を受け入れることができます。 次に、最後のセクターの入力を求められ、Enterはデフォルト値を受け入れます。
fdisk
は、パーティション番号1である1TB Linuxパーティションを作成したことを確認していますが、ハードドライブにはまだ何も変更されていません。 fdisk
に変更をドライブに書き込むコマンドを与えるまで、ドライブは変更されません。 選択内容に満足していることを確認したら、文字w
を押してドライブに変更を書き込みます。
パーティションは/dev/sdb
に書き込まれています。 何が起こったのか確認しましょう。 /dev/sdb
でもう一度fdisk
を使用します。
sudo fdisk / dev / sdb
文字p
を押してそのパーティションテーブルを印刷すると、ドライブ用にリストされたパーティションがあることがわかります。 このドライブの最初のパーティションであるため、 /dev/sdb1
と呼ばれます。 2番目のパーティションは/dev/sdb2
などと呼ばれます。
パーティションに変更を加えたくないので、文字q
を押して終了します。
パーティションにファイルシステムを作成する
パーティション上にファイルシステムを作成する必要があります。 これは、 mkfs
コマンドを使用して簡単に実行できます。 コマンドにパーティション番号を含める必要があることに注意してください。 /dev/sdb
(ドライブ)ではなく、 /dev/sdb1
(パーティション)と入力するように注意してください。
sudo mkfs -t ext4 / dev / sdb1
ファイルシステムが作成され、コマンドプロンプトに戻ります。
新しいドライブの取り付け
新しいドライブを使用するには、ファイルシステムのマウントポイントにパーティションをマウントする必要があります。 実際、完全に正確にするために、ドライブもパーティションもマウントしていません。ファイルシステムをシステムのファイルシステムツリーに移植することにより、パーティションにファイルシステムをマウントしています。
/mnt
ポイントは他のどの場所よりも良い場所です。 これは、データを新しいドライブにコピーできるようにするための一時的なマウントポイントにすぎません。 mount
コマンドを使用して、ファイルシステムを/dev/sdb
の/mnt
にある最初のパーティションにマウントします。
sudoマウント/ dev / sdb1 / mnt
すべてがうまくいけば、エラーメッセージなしでコマンドラインに戻ります。 ディレクトリを新しくマウントしたファイルシステムに変更できるかどうかを見てみましょう。
cd / mnt
はい、できます。 ここに何があるか見てみましょう。
ls -ahl
私たちは新しいファイルシステムにいます。 デフォルトの「lost + found」ディレクトリは必要ないため、削除できます。
sudo rm -rf lost + found
ホームフォルダをコピーする
古いホームディレクトリから新しくマウントされたファイルシステムにすべてをコピーする必要があります。 r
(再帰)およびp
(保持)オプションを使用すると、すべてのサブディレクトリがコピーされ、ファイルの所有権、アクセス許可、およびその他の属性が保持されます。
sudo cp -rp / home / * / mnt
コピーが完了したら、 ls
を使用して周りを見回し、データが新しいファイルシステム内にあると予想される場所にあることを確認します。 言い換えると、 /mnt
がホームディレクトリである場合、すべてが存在し、正しいですか?
ls
lsデイブ
この記事が調査されたテストマシンよりも、もう少し徹底的になりたいと思うでしょう。 セーフティネットとして、古い/home
ディレクトリの名前を変更し、削除しても安全であると納得するまで保持します。
sudo mv / home /home.orig
そして、新しい空のホームディレクトリを作成します。
sudo mkdir / home
その新しい空のホームディレクトリを、新しいハードドライブ上のファイルシステムのマウントポイントとして使用します。 /mnt
からアンマウントし、 /home
に再マウントする必要があります。 コマンドumount
には、「u」の後に「n」がないことに注意してください。
ただし、最初に、ルートディレクトリ( cd /
を使用)に移動して、マウントまたはアンマウントの場所に含まれるディレクトリにいないことを確認します。
CD /
sudo umount / dev / sdb1
sudoマウント/ dev / sdb1 / home /
関連: Linuxディレクトリ構造、説明
新しいホームディレクトリのテスト
/dev/sdb1
パーティションの属性が現在何であるかを見てみましょう。
df / dev / sdb1
ファイルシステムの名前、パーティションのサイズ、パーティションの使用済みおよび使用可能なスペース、そして重要なことに、ファイルシステムがマウントされている場所が表示されます。 これで/home
ディレクトリになりました。 つまり、古い/home
ディレクトリとまったく同じように参照できるはずです。
ファイルシステム内の任意の場所に移動すると、 ~
ショートカットを使用して/home
に戻ることができるはずです。
CD /
cd〜
pwd
ls
cd / home
ls
cdデイブ
ls
ls -a
明示的なコマンドと~
ショートカットを使用して、ファイルシステム内を移動して/home
に移動できます。 予想されるフォルダ、ファイル、およびドットファイルはすべて存在します。 それはすべてよさそうだ。
不足しているものがある場合は、ファイルシステムのルートで引き続きアクセスできる/home.orig
ディレクトリからコピーできます。 しかし、それはすべてうまく見えます。
ここで、コンピューターを起動するたびに/dev/sdb1
を自動的にマウントする必要があります。
fstabの編集
「fstab」ファイルには、システムの起動時にマウントされるファイルシステムの説明が含まれています。 変更を加える前に、問題が発生した場合に戻ることができるバックアップコピーを作成します。
sudo cp / etc / fstab /etc/fstab.orig
これで、fstabファイルを編集できます。 お気に入りのエディターを使用してくださいgedit
を使用しています。 どんなテキストエディタでもかまいません。
sudo gedit / etc / fstab
新しい/home
ディレクトリをマウントするには、ファイルの最後に行を追加する必要があります。 ドライブとパーティションの識別子がこの例で使用されているものと異なる場合は、ここに示されている/dev/sdb1
の代わりに使用してください。
- 行の先頭にパーティションの名前を入力し、Tabキーを押します。
- マウントポイント
/home
を入力し、Tabキーを押します。 - ファイルシステムの説明
ext4
を入力し、Tabキーを押します。 - マウントオプションの
defaults
を入力し、Tabキーを押します。 - ファイルシステムダンプオプションに数字の
0
を入力し、Tabキーを押します。 - ファイルシステムチェックオプションに数字の
0
を入力します。
fstabファイルを保存します。
システムを再起動します
再起動して、すべてが計画どおりに進んだこと、および新しい/home
ディレクトリにシームレスに接続できることを確認する必要があります。
そうでない場合でも、必要に応じて復元できる元の/home
ディレクトリとfstabファイルのセーフティネットがあります。 /home
ディレクトリとfstabファイルをコピーするという予防策により、システムを開始前の状態に簡単に戻すことができます。
sudoを今すぐ再起動します
関連:コマンドラインを使用してLinuxを再起動またはシャットダウンする方法
最終チェック
システムが再起動したら、 /home
ディレクトリが実際に新しいハードドライブ上にあり、システムが何らかの形で(奇跡的に)古い/home
ディレクトリの使用に戻っていないことを確認しましょう。
df / dev / sdb1
素晴らしい、それは/home
にマウントされています。 任務完了。
古い/home
ディレクトリの安全コピーが不要であることが完全に確認できたら、それを削除できます。
CD /
sudo rm -rf home.orig /
そしてもちろん、古い/home
から新しい/home
に何かがコピーされなかったことに気付いた場合は、開始前に作成したバックアップからそれを取得できます。
ホームスイートホーム
/home
ディレクトリをオペレーティングシステムの残りのパーティションから分離したので、オペレーティングシステムを再インストールでき、データは変更されません。 fstabファイルを編集して、2番目のドライブを/home
にマウントするだけです。
また、すべてのドットファイルは/home
ディレクトリにあるため、さまざまなアプリケーションを起動すると、すべての設定、設定、およびデータが検出されます。
再インストールの手間を省き、アップグレードのリスクを取り除きます。
Linuxコマンド | ||
ファイル | tar・pv・cat・tac・chmod・grep・diff・sed・ar・man・pushd・popd・fsck・testdisk・seq・fd・pandoc・cd・$ PATH・awk・join・jq・fold・uniq・journalctl・tail・stat・ls・fstab・echo・less・chgrp・chown・rev・look・strings・type・rename・zip・unzip・mount・umount・install・fdisk・mkfs・rm・rmdir・rsync・df・gpg・vi・nano・mkdir・du・ln・patch・convert・rclone・shred・srm | |
プロセス | エイリアス・screen・top・nice・renice・progress・strace・systemd・tmux・chsh・history・at・batch・free・which・dmesg・chfn・usermod・ps・chroot・xargs・tty・pinky・lsof・vmstat・タイムアウト・wall・yes・kill・sleep・sudo・su・time・groupadd・usermod・groups・lshw・shutdown・reboot・halt・poweroff・passwd・lscpu・crontab・date・bg・fg | |
ネットワーキング | netstat・ping・traceroute・ip・ss・whois・fail2ban・bmon・dig・finger・nmap・ftp・curl・wget・who・whoami・w・iptables・ssh-keygen・ufw |
関連:開発者と愛好家のための最高のLinuxラップトップ