稼働中のUbuntu MATE 14.04システムを新しいSSDに移行した方法

どういうわけか、作業中に、Linux上に8ギガバイトのRAMを搭載したi5thの個人用ラップトップは、サービスよりも劣っており、パワフルな「馬」ではないことに気付きました。

「馬に乗る」ことが決定されました。古いSATA HDDの代わりに、新しいSSDディスクが購入されました。 管理者は本質的に怠け者であり、私も例外ではありませんでした。 新たに行われたすべてのことを思い出したくはありませんでした。職場環境を言葉から構築し、オペレーティングシステムを移植することは、私の場合は最も問題のないオプションでした。 それでは始めましょう。

システムで/ dev / sdbとして識別される2番目の新しい60 GB SSDドライブは、DVDドライブのスロットにあるアダプターコントローラーを介してラップトップに接続されました。

古い320 GB HDD / dev / sdaには3つのパーティションがありました:/ dev / sda1(スワップ-以前は無効)、/ dev / sda2(/ルートパーティション)、/ dev / sda3(/ home)。 すべてのセクションのすべてのデータの全量が約50 GBを占めていました。

USBフラッシュドライブからUbuntu MATE 14.04でLiveUSBモードで起動します。 GpartedはSSDにsdb1パーティションを作成しました。 フラグを設定しませんでした。 ルート特権モードに入ります:

sudo -i 

TRIMサポートがあるかどうかを確認します。

 hdparm -I /dev/sdb | grep -i trim 

*データセット管理TRIMがサポートされています(1ブロックを制限)。

リスト出力は、TRIMサポートがあり、アクティブであることを意味します。

セクションの配置を確認します。

 parted /dev/sdb align-check opt 1 

1が整列している場合、または1が整列している場合、すべてが順序どおりです。

マウントポイントディレクトリを作成します。

 mkdir /mnt/{sda2,sda3,sdb1} 

必要なセクションをマウントします。

 mount /dev/sdb1 /mnt/sdb1 mount /dev/sda2 /mnt/sda2 

ルートパーティションからデータを同期して転送します。

 rsync -qaHEAXh /mnt/sda2/* /mnt/sdb1 

ここで:
-q-詳細レベルを下げる
-a-アーカイブモード
-H-ハードリンクを保持する
-E-実行可能ファイルを保存します
-A-ACLを保存します
-X-拡張属性を保存します
-h-読み取り可能な形式で数値を出力します

ユーザーのディレクトリでセクションをマウントし、そこからデータを転送します。

 mount /dev/sda3 /mnt/sda3 rsync -qaHEAXh /mnt/sda3/* /mnt/sdb1/home 

偶発的なエラーによる安全性を高めるには、元のHDDのセクションをアンマウントします。

 umount /mnt/sda2 umount /mnt/sda3 

データが転送されたネイティブOSのファイルシステムをマウントします。

 mount --bind /proc /mnt/sdb1/proc mount --bind /dev /mnt/sdb1/dev mount --bind /sys /mnt/sdb1/sys 

chroot操作は、作業ルートディレクトリをデータの転送先に変更します。

 chroot /mnt/sdb1 

構成ファイルの1つをファイルシステムに関する情報とともにバックアップします。

 cp /etc/fstab{,.bak} 

sdb1セクションの現在のUUIDラベルをfstabに追加します。

 ls -l /dev/disk/by-uuid |grep sdb >> /etc/fstab 

fstabの編集:

 nano /etc/fstab 

そして、おおよその形式にします:

#/インストール中/ dev / sdb1
UUID = c45939b4-3a58-4873-aa6e-247746hgftb5 / ext4エラー= remount-ro 0 1

ここで、UUID = sdb1値

Linuxブートローダー構成ファイルの更新:

 update-grub 

grub.cfg構成ファイルのセクションのUUID値が正しく設定されているかどうかを確認します。

 cat /boot/grub/grub.cfg | grep «uuid sda2» 

ここで、「uuid sda2」の代わりに、uuidパーティションの値を置き換えます。 私はまだ古い値を持っているので:

chrootの終了:

 exit 

ファイルシステムのマウント解除:

 umount /mnt/sdb1/sys umount /mnt/sdb1/dev umount /mnt/sdb1/proc 

grub.cfgで、sda2セクションの古いuuid値をすべてsdb1セクションの新しいuuid値に変更します。 私にとってそうするのは簡単でした。 あなたのやり方でそれをすることができます。

置換ユーティリティがあるmysqlサーバーを配置します(同じパスワードは、いずれも役に立ちません)。

 apt-get install mysql-server-5.5 

UUIDの変更:

 replace 'old_uuid' 'new_uuid' -- /mnt/sdb1/boot/grub/grub.cfg 

ここで、old_uuidとnew_uuidは、それぞれ古い値と新しい値です。

grub.cfgの値が変更されたかどうかを確認します。

 cat /mnt/sdb1/boot/grub/grub.cfg | grep «uuid sdb1» 

ファイルシステムとchroot-nameを再マウントします。

 mount --bind /proc /mnt/sdb1/proc mount --bind /dev /mnt/sdb1/dev mount --bind /sys /mnt/sdb1/sys chroot /mnt/sdb1 

ブートローダー自体をsdbにインストールします。

 grub-install /dev/sdb 

chrootの終了:

 exit 

マウントされたすべてをアンマウントします。

 umount /mnt/sdb1/sys umount /mnt/sdb1/dev umount /mnt/sdb1/proc umount /mnt/sdb1 

ルート特権モードを終了します。

 exit 

新しいシステムで再起動します。 BIOSを再起動するときは、新しいデバイスからブートを選択してインストールすることを忘れないでください。

Source: https://habr.com/ru/post/J277517/


All Articles