私は約3年前に現在のデスクトップを構築し、ソリッドステートドライブ(SSD)をインストールしました。後で、より多くのストレージスペースが必要になったので、2番目のドライブをインストールしました。古いスピンドルとプラッターのハードディスクドライブ(HDD)がたまたま横になっていたのです。最近、このHDDをSSDに交換することにしました。
この記事では、ドライブの識別と構成、およびLinuxが使用する構成ファイルの編集に使用されるいくつかのコマンドを含む、ドライブを交換するための手順について説明します。
まず、 partedを使用します 引数-lを指定したコマンド システム内の物理ドライブを一覧表示します。
root @workstation:〜#parted -l <br />モデル:ATA Samsung SSD 850(scsi)
ディスク/ dev / sda:512GB
セクターサイズ(論理/物理):512B / 512B
パーティションテーブル:gpt
ディスクフラグ:
Number StartEndSizeファイルシステム名フラグ
11049kB 538MB e> 2 538MB 495GB 494GB ext4
モデル:ATA WDC WD1500HLFS-0(scsi)
ディスク/ dev / sdb:150GB
セクターサイズ(論理/物理) :512B / 512B
パーティションテーブル:gpt
ディスクフラグ:
Number Start End Size File system Name Flags
1 Linux 1 1049kB 4296MB 4296MB 4スワップ
24296MB 150GB 146GBext4Linuxファイルシステム
私のシステムには2つのドライブがあることがわかります: sda 、SSDであり、 sdb 、HDDです。 番号 列には、各ドライブに存在するパーティションが一覧表示されます。各パーティションは番号で参照されます。たとえば、 sdaの最初のパーティションのフルネーム は/dev / sda1 、2番目は / dev / sda2 。
ドライブとそのパーティションがわかったので、 findmntを使用します 各パーティションの詳細と、それらがファイルシステムのどこにマウントされているかを表示するコマンド。
findmnt --fstab --evaluate
fstab オプションはfindmntに指示します / etc / fstabに従って検索します ファイル、および評価 オプションは、長いUUIDを実際のデバイス名に変換します。
#findmnt --fstab --evaluate
TARGET FSTYPE OPTIONS
/ / dev / sda2 ext4 errors =remount-ro、noatime、discard
/ boot / efi / dev / s vfat umask =0077、noatime、discard
none / dev / sdb1 swap sw
/ raptor / dev / sdb2 ext4 defaults、noatime
findmntの出力 、ソース partedの出力を参照できるパーティションです。 前からのコマンド。 ターゲット それぞれがマウントされているファイルシステム内のパスです。これは、マウントポイントとも呼ばれます 。
上記の出力では、スワップパーティションは noneを示しています そのターゲットのために。 cat を使用して、スワップスペースの詳細を確認します コマンド。
root @workstation:〜#cat / proc /swaps
ファイル名タイプサイズ使用済みパーティション4優先度
/dev / sdb1 / etc/fstabファイル/ etc / fstab fileは、Linuxがドライブ、パーティション、およびファイルシステムに関する情報を格納する場所であるため、これらのいずれかに変更を加えるたびに編集する必要があります。システム内の現在のドライブ、パーティション、およびマウントポイントを特定したので、これらのアイテムを fstabで見つけます。 ファイル。
#/ etc / fstab:静的ファイルシステム情報。
#
#'blkid'を使用して、
#デバイスのユニバーサル一意識別子を出力します。これは、ディスクが追加および削除された場合でも機能するデバイスに名前を付けるためのより堅牢な方法として、UUID=とともに使用できます。
# fstab(5)を参照してください。
#
#<ファイルシステム><マウントポイント><タイプ><オプション><ダンプ><パス>
UUID =818aad1c-fcfc-4be8-9de8- ff6963383fe1 / ext4 errors =remount-ro、noatime、discard 0 1
UUID =87B5-E1AE -58eb69b7f88d none swap sw 0 0
UUID =bad318c8-e095-4870-a8bb-c54f5488f569 / raptor ext4fstab ファイル名は「filesystemstable」の略です。列には左から右に番号が付けられています:
- ファイルシステム ディスクパーティションを表します。昔は、実際の低レベルのハードウェアパス(分割から出力されるものなど) コマンド、つまり / dev / sda1 )ここに配置されます。現在、すべてのパーティションにUUIDが与えられています。これは、それらを参照するための推奨される方法です。これは、ファイルの上部にあるメモで強調表示されています。メモにあるように、 blkidを使用してシステムUUIDを表示できます 指図。 -sを使用します 各デバイスのUUIDのみを表示する引数。
#blkid -s UUID
/ dev / sdb1:UUID ="bad318c8-e095-4870-a8bb-c54f5488f569"
/ dev / sda1:UUID ="87B5-E1AE"
/ dev / sda2:UUID ="818aad1c-fcfc-4be8-9de8-ff6963383fe1"- マウントポイント パーティションがマウントされているLinuxファイルシステム内の場所を表します。
- タイプ パーティションのファイルシステム形式について説明します。 Linuxは多くのタイプをサポートしています。一般的なものには、ext3、ext4、XFSなどがあり、さらに多くの機能があります。私は長い間JFSを使用していました。
- オプション パーティションのマウント方法を管理します。たとえば、オプション ro およびrw 読み取り専用としてマウントされているか、読み取り/書き込みとしてマウントされているかを判別します。もう1つの一般的なオプションは、 noatime 、ファイルアクセス時間の更新を無効にするために使用されます。通常はディスクI/Oのパフォーマンスを向上させるために使用されます。
- ダンプ ダンプユーティリティは、ファイルシステムをダンプする必要があるかどうかを判断するために使用します。ゼロに設定すると、いいえを意味します。この機能は最近あまり使用されていません。
- 合格 fsckによって使用されます 起動時にファイルシステムでエラーがチェックされる順序を決定します。 0に設定すると、チェックが無効になり、ファイルシステムがスキップされます。通常、ルート(/)ファイルシステムは1に設定して、最初にチェックされるようにする必要があります。
システム内のドライブとそれらがどのように取り付けられているかを理解したので、HDDの交換プロセスを開始できます。
HDDの交換
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
新しいSSDをインストールし、HDD上のファイルをSSDにコピーしてから、HDDを取り外すことをお勧めします。最終的にはSSDをHDDと同じ場所にマウントする必要があるため、このパスに依存するアプリケーションが破損することはありません。
まず、コンピュータをシャットダウンし、電源ケーブルを抜いて、コンピュータまたは自分自身に衝撃による損傷を与えるリスクを回避します。次に、SSDを一時的に取り付けて、電源ケーブルに接続します。
次に、新しいドライブとマザーボード上の開いているSATAコネクタの間にデータケーブルを接続します。すべてが安全に接続されたら、システムの電源を接続し、コンピュータの電源を入れます。
次に、システムがコンピューターのBIOSまたはUnified Extensible Firmware Interface(UEFI)で新しいドライブを認識することを確認します。システムBIOSまたはUEFIに入るためのキーまたはキーストロークの組み合わせは、コンピューターの製造元によって異なります。通常、最近のコンピューターは、システムに接続されているドライブやその他のデバイスを自動的に検出するため、変更する必要のあるものはおそらくありません。それが私の場合でした。私のシステムは新しいドライブをSATASSDとして認識します 。
すべてのドライブがシステムによって検出および表示されていることを確認したら、再起動してLinuxをロードします。次に、 parted を繰り返して、Linuxがドライブを認識していることを確認します。 指図。コマンドparted-l は、sda、sdb、およびsdcの3つのドライブがインストールされていることを示しています。新しいsdcドライブの出力は次のとおりです。
モデル:ATA SATA SSD(scsi)
ディスク/ dev / sdc:240GB
セクターサイズ(論理/物理):512B / 512B
パーティションテーブル:msdos
ディスクフラグ:
番号開始終了サイズタイプファイルシステムフラグ
11049kB 1075MB1074MBプライマリext4この出力には、パーティションテーブルが msdosとして一覧表示されます。 2つの既存のパーティションがあることを示します。これは、以前に別のシステムで使用されていたSSDを使用しているためです。ドライブが新しい生活のために再フォーマットされると、これはすべて変わります。
新しいSSDを準備する Linuxが新しいSSDを識別することを確認した後、 partedを使用します もう一度コマンドを実行しますが、今回はドライブを再構成します。私の場合、パーティションテーブルを新しいGPTに変更しました。また、XFSファイルシステムを使用して一般ストレージ用の新しいパーティションを作成しました。 label とも呼ばれる新しいパーティションテーブルが作成されると、既存のパーティションが自動的に削除されるため、最初に既存のパーティションを削除する必要はありません。 、変更されて保存されます。
パーティションテーブルを設定する 次のコマンドを入力します: parted / dev / sdc 。
#parted / dev / sdc
GNU Parted 3.2
/ dev/sdcの使用
GNUPartedへようこそ!コマンドのリストを表示するには、「help」と入力します。mklabelを使用する パーティションテーブルまたはラベルをgptに変更するコマンド 。このアクションにより、ディスク上の既存のデータがすべて破棄されるという警告が表示されます。はいと答えます。
(parted)mklabel gpt
警告:/ dev / sdc上の既存のディスクラベルは破棄され、このディスク上のすべてのデータが失われます。続行しますか?
はい/いいえ? y印刷を使用して、ドライブ構成の変更を確認できます 指図。また、すべてのパーティションがなくなっていることに気付くでしょう。
モデル:ATA SATA SSD(scsi)
ディスク/ dev / sdc:240GB
セクターサイズ(論理/物理):512B / 512B
パーティションテーブル:gpt
ディスクフラグ:
Number Start End Size Type File system Flagsパーティションを作成する mkpartを使用して新しいパーティションを作成できます 指図。ドライブ全体を追加のストレージスペースに使用する予定なので、パーティションを1つだけ作成しました。
無料印刷 コマンドは、ドライブの空き領域を表示する場合にも役立ちます。パーティションを定義していないため、240GB全体を使用できます。
(parted)print free
モデル:ATA SATA SSD(scsi)
ディスク/ dev / sdc:240GB
セクターサイズ(論理/物理):512B / 512B
パーティションテーブル:gpt
ディスクフラグ:
Number StartEndSizeファイルシステムNameFlags
17.4kB 240GB 240GB Free Spaceパーティションにstorageという名前を付けます ファイルシステムの種類をxfsに設定します 。パーティションが1つしかないため、パーティションの開始と終了を指定して、使用可能な空き領域全体をパーセンテージで使用します。これは、1行のコマンドで実行できます。
mkpart storage xfs 0% 100%
次に、印刷で確認します コマンド。
(parted)print
Model:ATA SATA SSD(scsi)
Disk / dev / sdc:240GB
セクターサイズ(論理/物理):512B / 512B
パーティション表:gpt
ディスクフラグ:
Number StartEndSizeファイルシステム名フラグ
11049kB 240GB 240GB xfs storage別れたをやめたとき 、 / etc / fstabが通知されます ファイルの更新が必要な場合があります。
(parted)quit
情報:/ etc/fstabを更新する必要があるかもしれません。パーティションをフォーマットする 次に、新しいLinuxパーティションを xfsでフォーマットします mkfs.xfsを使用するファイルシステム 。
mkfs.xfs /dev/sdc1
新しいドライブは完全にフォーマットされています。前述したように、現在のところ、物理デバイスパスではなく、UUIDを使用してパーティションを参照するのが標準です。したがって、 blkidを使用して新しいパーティションのUUIDを決定します。 。
#blkid -s UUID
/ dev / sdc1:UUID ="d98abe0a-f641-4331-a3dc-b89ebc60bfb5"ファイルをコピー 新しいドライブはフォーマットされ、システムにマウントする準備ができています。ただし、別のドライブをこのドライブに交換するプロセスはそれほど単純ではありません。まず、古いドライブから新しいドライブにファイルをコピーするには、両方のドライブを同時にマウントする必要があります。
これを行うには、新しいドライブを一時的なマウントポイントにマウントし、ファイルをコピーしてから、両方のドライブをアンマウントします。なんで?したがって、パスを保持するために、古いドライブがマウントされていたのと同じマウントポイントに新しいドライブをマウントできます。そのパスが構成されているアプリケーションがある場合は、この方法の方が簡単です。
#mkdir / mnt / newssd
#mount UUID ="d98abe0a-f641-4331-a3dc-b89ebc60bfb5" / mnt / newssd
#cp -avT / raptor / / mnt / newssd /diffを使用する コピーの成功を確認します。
diff -rqy /raptor/ /mnt/newssd/
古いHDDを取り外します 両方のドライブをアンマウントします 新しいドライブにすべての古いファイルが含まれているので、古いドライブの代わりに再マウントします。まず、両方のドライブをアンマウントします。
#umount / dev / sdc1
#umount / dev / sdb2スワップをオフにする 古いドライブはスワップデバイスとして使用されなくなるため、スワップオフで無効にします。 コマンド。
# swapoff /dev/sdb1
cat / proc / swapsを繰り返す場合 コマンドを実行すると、このパーティションは一覧表示されなくなります。
fstabファイルを更新します
/ etc / fstabに戻ります ファイル;行う必要のある変更がいくつかあります。編集する前にファイルのバックアップを作成することをお勧めします。
cp -a /etc/fstab /etc/fstab.backup
/ raptorの行 マウントポイント、UUIDを新しいドライブのUUIDに置き換えます。ファイルシステムext4をxfsに置き換えます; 破棄を追加します オプションに。次のように表示されます:
UUID=d98abe0a-f641-4331-a3dc-b89ebc60bfb5 /raptor xfs defaults,noatime,discard 0 2
/ etc / fstab を編集して、スワップを永続的に無効にします ファイルとスワップラインのコメントまたは削除。
# UUID=dc8b85ac-0439-4b60-9867-58eb69b7f88d none swap sw 0 0
スワップスペースは、それでも必要な場合は、別のドライブまたはパーティションにマウントできます。この場合、この行を削除するのではなく、新しいドライブをセットアップしたときと同じ方法でUUIDを置き換えます。
fstabを保存した後 ファイル、マウントを実行します 変更に基づいて再マウントします。
root @workstation:〜#mount -av
/:無視されます
/ boot / efi:すでにマウントされています
/ raptor:正常にマウントされています最後に、コンピューターをシャットダウンし、使用されなくなったHDDを取り外します。次に、電源を入れて、システムが正しく起動し、すべてのドライブが期待どおりにマウントされていることを確認します。追加のストレージスペースに加えて、パフォーマンスの向上とノイズリダクションにも気づきました。
Linux