نحوه ی clone کردن یک سیستم لینوکسی و انتقال به یک سخت افزار دیگر

در این نوشته قصد داریم نحوه ی clone کردن یک سیستم عامل وانتقال آن بر روی یک سخت افزار دیگر را به زبانی ساده بگوییم.
برای اینکار به دو سیستم مجزا نیاز داریم که دیسک های آنها از نوع MBR باشند و سیستم عامل را برای سادگی در یک پارتیشن نصب میکنیم. یعنی برای home ,swap ,boot,… پارتیشنی جدا در نظر نمیگیریم.

برای این کار مراحل زیر را انجام میدهیم.

-ابتدا بر روی یک سیستم، سیستم عامل سانا را نصب میکنیم و هنگام نصب فقط یک پارتیشن root میسازیم.


-به کمک این آموزش سانا را نصب و فقط پارتیشن root برای آن میسازیم.

بعد از نصب سیستم عامل وارد ترمینال آن میشویم و بسته های مورد نیاز خودمان را نصب میکنیم. برای مثال ما در اینجا بسته های firmware-nonfree را نصب میکنیم (برای انتقال به سخت افزار هایی که firmware آنها در سانا وجود ندارد).

sudo apt install firmware-nonfree

-در مرحله‌ی بعد usb(هارد اکسترنال) برای کپی کردن فایل های سیستم عامل به سیستم وصل میکنیم و با استفاده از دستور rsync -avHX /mnt/root/ /mnt/usb/root/ تمام فایل های سیستم عامل را در آن کپی میکنیم.

-در مرحله‌ی بعد باید در سیستمی که میخواهیم فایل‌های clone شده را بارگذاری کینم، پارتیشن root بسازیم.
برای اینکار باید یکی از توزیع های لینوکس را به صورت live اجرا کنیم.(در اینجا از لایو اوبونتو استفاده میکنیم)

بعد از باز شدن سیستم لایو وارد disks میشویم و پارتیشن root را میسازیم و Label آن را بر روی / (root) میگذاریم.

-بعد از ساخت پارتیشن، usb که در آن clone کردیم را به این سیستم وصل میکنیم و دستور
rsync -avHX /mnt/usb/root/ /mnt/root/ را در ترمینال اوبونتو وارد میکنیم تا فایل های سیستم عامل در این سخت افزار جدید کپی شود.

  • در مرحله ی بعد باید uuid را تغییر دهیم. برای اینکار باید uuid پارتیشنی که سیستم عامل را به آن انتقال دادیم را پیدا کنیم.
    با دستور ls -l /dev/disk/by-uuid/ ، uuid ها را به ما نمایش داده میشود. که uuid پارتیشن مورد نظر را کپی میکنیم و با دستور sudo vim /mnt/slash/etc/fstab ، uuid را تغییر میدهیم.

-در مرحله ی بعد برای اجرا شدن سیستم عامل احتیاج به بوت لودر(grub) داریم. برای نصب grub باید دستورات زیر را به ترتیب وارد کنیم تا بتوانیم بر روی سیستم عامل منتقل شده نصب شود.

suod mount --bind /sys /mnt/root/sys
sudo mount --bind /dev /mnt/root/dev
suod mount --bind /run /mnt/root/run
sudo chroot /mnt/root
grub-install /dev/sda
update-grub 

بعد از نصب grub کار انتقال به پایان رسیده است و میتوان usb را remove و از محیط لایو خارج شد و سیستم را مجدد راه اندازی کرد تا سیستم انتقال داده شده، اجرا شود.