একটি এনক্রিপ্ট করা এলভিএম ইনস্টলকে নতুন ডিস্কে কীভাবে স্থানান্তরিত করবেন


15

আমার কিছুটা কাস্টমাইজড ল্যাপটপ ইনস্টল আছে আমি উবুন্টুকে পুনরায় ইনস্টল না করে, সমস্ত অ্যাপ্লিকেশন পুনরায় ইনস্টল না করে এবং অন্যান্য সমস্ত পরিবর্তনগুলি করেই সরাসরি এসএসডিতে যেতে চাই। এসএসডি আরও ছোট, তাই আমি ঠিক করতে পারি না dd

মূল ইনস্টলটি উবুন্টু বিকল্প ইনস্টলারের সাথে সম্পন্ন হয়েছিল, এলভিএম বিকল্পের সাথে পূর্ণ ডিস্ক এনক্রিপশন নির্বাচন করে।

কোন পদক্ষেপের প্রয়োজন এবং আমি সেগুলি কীভাবে করব? আমি আশা করি:

  • ডিস্ক পার্টিশন, এনক্রিপশন ইত্যাদি সেট আপ করুন
  • ডেটা জুড়ে অনুলিপি করুন
  • গ্রাব ইনস্টল করুন এবং এটি নতুন ইউআইডি মান ইত্যাদির সাথে কাজ করুন etc.

উত্তর:


14

পার্টিশন এবং ফাইলের অনুলিপি - চলমান অবস্থায়

আমি রানিং সিস্টেম দিয়ে শুরু করে এটি করেছি। আমি নতুন এসএসডিটিকে একটি ইউএসবি সাটা অ্যাডাপ্টারে প্লাগ করে এটিকে পার্টিশন দিয়েছি, এলভিএম সেট আপ করেছি এবং ফাইলগুলি অনুলিপি করে রেখেছি।

# confirm disk size is as expected for sdc
sudo fdisk -l /dev/sdc
# now partition - 500 MB partition as boot, the rest as a single (logical) partition
sudo cfdisk /dev/sdc

আপনার ডিস্কটি এখন দেখতে হবে:

sudo fdisk -l /dev/sdc
Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63      979964      489951   83  Linux
/dev/sda2          979965   234441647   116730841+   5  Extended
/dev/sda5          980028   234441647   116730810   82  Linux swap / Solaris

পরবর্তী পদক্ষেপটি হ'ল পার্টিশনে এনক্রিপশন এবং এনক্রিপশনের শীর্ষে এলভিএম।

sudo cryptsetup -y luksFormat /dev/sdc5
sudo cryptsetup luksOpen /dev/sdc5 crypt
sudo vgcreate crypt-lvm /dev/mapper/crypt
sudo lvcreate -L4G -nswap crypt-lvm
sudo lvcreate -l100%FREE -nroot crypt-lvm

এখন ফাইল সিস্টেমগুলি তৈরি করুন এবং সেগুলি মাউন্ট করুন এবং আপনার সিস্টেমে অনুলিপি করুন।

sudo mkfs.ext2 /dev/sdc1
# you do ls /dev/mapper to check the name if different
sudo mkfs.ext4 /dev/mapper/crypt-root
sudo mkdir /mnt/boot
sudo mkdir /mnt/root
sudo mount -t ext2 /dev/sdc1 /mnt/boot
sudo mount -t ext4 /dev/mapper/crypt-root /mnt/root

# rsync files
sudo rsync -a /boot/* /mnt/boot/
sudo rsync -aHAX --devices --specials --delete --one-file-system --exclude proc --exclude run --exclude boot --exclude sys --exclude tmp /* /mnt/root/

এই মুহুর্তে আপনি সিস্টেমটি চলমান রাখতে পারেন এবং এটি ব্যবহার করতে পারেন। এখন আপনাকে শাটডাউন করে একটি লাইভ সিডি / ইউএসবি বুট করতে হবে যাতে আপনি সিস্টেমটি শাটডাউন অবস্থায় পেতে পারেন।

পার্টিশন এবং ফাইলের অনুলিপি - লাইভ সিডি / ইউএসবি

একবার বুট করার পরে, একটি টার্মিনাল খুলুন এবং:

sudo apt-get install lvm2

# mount old hard drive
sudo cryptsetup luksOpen /dev/sda5 sda5_crypt
sudo mkdir /mnt/sdaroot
# you can do ls /dev/mapper to check the name if it is different
sudo mount -t ext4 /dev/mapper/sda5_crypt--root /mnt/sdaroot

# mount new hard drive (over USB)
sudo cryptsetup luksOpen /dev/sdc5 sdc5_crypt
sudo mkdir /mnt/sdcroot
sudo mount -t ext4 /dev/mapper/sdc5_crypt--root /mnt/sdcroot

# final rsync
sudo rsync -aHAX --devices --specials --delete --one-file-system --exclude proc --exclude run --exclude boot --exclude sys --exclude tmp /mnt/sdaroot/* /mnt/sdcroot/

chroot

# prepare chroot
cd /mnt/sdcroot
sudo mkdir boot

# these directories are set up by the system and we need them inside the chroot
sudo mount -t proc proc /mnt/sdcroot/proc
sudo mount -t sysfs sys /mnt/sdcroot/sys
sudo mount -o bind /dev /mnt/sdcroot/dev

# now enter the chroot
sudo chroot /mnt/root/

ইউআইডিগুলি পরিবর্তন করা হচ্ছে

এখন আমরা ক্রুটের অভ্যন্তরে প্রবেশ করি এবং নিম্নলিখিত কমান্ডগুলি চালিত করি:

# inside chroot, as root
mount -t ext2 /dev/sdc1 /boot
blkid

এখন আপনি সিস্টেমের বিভিন্ন ডিস্কের সমস্ত ইউআইডি দেখতে পাবেন । আপনাকে ইউআইডিগুলি সম্পাদনা করতে হবে /etc/fstabএবং /etc/crypttabএর মানগুলি মেলাতে হবে/dev/sdc?

ইন /etc/fstabআপনি বুট ডিস্ক জন্য UUID ব্যবহার করতে হবে - /dev/sdc1যদি আপনার ডিস্ক আমার মতোই চিঠি আছে।

ইন /etc/crypttab- আপনি অন্য (বড়) পার্টিশনের জন্য UUID ব্যবহার করতে হবে /dev/sdc5যদি আপনার ডিস্ক আমার মতোই চিঠি আছে।

initramfs এবং গ্রাব

# now update initramfs for all installed kernels
update-initramfs -u -k all

# install grub and ensure it is up to date
grub-install /dev/sdc      # NOTE sdc NOT sdc1
update-grub

# hit Ctrl-D to exit chroot
sudo umount /mnt/root

এখন শাটডাউন করুন, এসএসডিটিকে আপনার ল্যাপটপের ভিতরে রাখুন, আঙ্গুলগুলি অতিক্রম করুন এবং বুট আপ করুন।

উপকারী সংজুক

ক্রিপ্টসেটআপ স্টাফগুলির জন্য http://www.debian-administration.org/articles/577 এ ভাল গাইড

বাহ্যিক পার্টিশনে গ্রাব ইনস্টল করার জন্য: /programming/247030/how-to-set-up-grub-in-a-cloned-hard-disk

https://help.ubuntu.com/community/UsingUUID


স্রেসের আরএসসিএনকে বাদ দিয়ে সন্ধান পেয়েছি এমন কিছু ডিরেক্টরি বাদ দেওয়া হয়েছে যা আমি অন্তর্ভুক্ত করতে চেয়েছিলাম। আমি আরও বিচক্ষণ আরএসএনসি কমান্ড নিয়ে এসে এই উত্তরটি আপডেট করব।
হামিশ ডাউনার

কেবলমাত্র একটি অনুস্মারক: আপনি এই দুর্দান্ত উত্তরের জন্য একটি আপডেটের প্রতিশ্রুতি দিয়েছেন :-)
গুনবার্ট

Chroot বিভাগে, মাউন্টিংয়ের আগে, আমাকে মাউন্ট পয়েন্টগুলি তৈরি করতে sudo mount -t proc proc /mnt/sdcroot/proc sudo mount -t sysfs sys /mnt/sdcroot/sys sudo mount -o bind /dev /mnt/sdcroot/devহয়েছিল : আগেই কর: sudo mkdir /mnt/sdcroot/proc sudo mkdir /mnt/sdcroot/sys--- আমার ক্ষেত্রে, initramfs তৈরি করার কমান্ডটি কার্যকর হয়নি, কারণ কার্নেলের সংস্করণগুলি মেলেনি এবং তাই initramfs পারেনি couldn't / বুটে সঠিক কর্নেলটি সন্ধান করুন, যাতে আমি পুরো জিনিসটি কাজ করতে পারি না।
ব্লাইন্ডফ্রেডি

আমি আপনার "চলমান" গাইড অনুসরণ করেছি, কয়েকটি সামঞ্জস্য করেছি (এক্সট 4) এবং এখনও অবধি এটি দুর্দান্তভাবে কাজ করেছে। নতুন পার্টিশনে বুট করার জন্য আমি fstab UID এ পরিবর্তন করেছি আমি রুট এবং অদলবদলের জন্য মাউন্টপয়েন্টগুলিও পরিবর্তন করেছি changed Fstab ছাড়াও কি অন্য কিছু বদলাতে হবে? আমি এখন বুট করার চেষ্টা করব: ডি
লুকা

আপনি লুকস ওপেন করার সময়, ক্রিপ্টটাব ব্যবহার করা একই লেবেলটি নির্দিষ্ট করে দেওয়ার বিষয়টি নিশ্চিত করুন বা গ্রাব সেটআপ সঠিকভাবে কাজ করবে না। আমাকে খুঁজে বের করতে চিরকালের জন্য। আর একটি উত্তরে বাইন্ডিং / রান / এলভিএমের কথা উল্লেখ করা হয়েছে। দরকার আছে কিনা জানিনা। ডিবাগিংয়ের জন্য আপনি একটি ইউএসবি ডিস্কে অনুশীলন করে এবং কেভিএম দিয়ে বুট করার চেষ্টা করে সময় সাশ্রয় করতে পারেন।
ড্যান স্টাহাল্কে

3

আমি মন্তব্য করার চেষ্টা করেছি, তবে আমার সুনামের অভাব রয়েছে :-)

যাইহোক, আমি আমার লিনাক্স-ভিত্তিক লুকস-এনক্রিপ্টড ওয়ার্ক ল্যাপটপের একটি এসএসডিতে স্থানান্তরিত করার জন্য হামিশের আশ্চর্যজনক গাইডটি সফলভাবে ব্যবহার করেছি। মাত্র কয়েকটি মন্তব্য:
1.আলভ তৈরির পরে lv ব্যবহার করুন

# mkswap /dev/mapper/crypt-swap 

উপরের মন্তব্যে উল্লিখিত স্বাপটি আরম্ভ করার জন্য, অন্যথায় এটি বুটের সময় ব্যর্থ হয়।
২. rsyncকমান্ডটি যেমন হয় তেমন সীমাবদ্ধ। আমি এটির সাথে ব্যবহার করার সময় --exclude run, আমি ইন্টারনেট ত্রুটির দ্বারা অদৃশ্য অদ্ভুত সব ধরণের ভিউইরিয়ের মধ্যে দৌড়েছি। রান অন্তর্ভুক্ত করতে হবে । রক্ষণাবেক্ষণ মোডে বুট করার সময় সিস্টগুলি যাইহোক খালি থাকে, তাই এটি থাকতে পারে। এছাড়াও আপনি যদি tmp বাদ দেন তবে লক্ষ্য / tmp এবং / var / tmp এ সদ্য তৈরি হওয়া একটি স্টিকি বিট না পেয়ে - সেগুলি নিজেই সেট করার কথা মনে রাখবেন। আমি কিছু ব্যবহার করে শেষ

# rsync -aHAX --devices --specials --delete --one-file-system --exclude proc --exclude boot /mnt/sdaroot/* /mnt/sdcroot/

সামগ্রিকভাবে - একটি দুর্দান্ত গাইড, প্রক্রিয়াটির ওভারভিউটি সঠিকভাবে দেখায়! আপনাকে কীভাবে মাছ ধরতে শেখায়, তাই বলে!


0

[কোনও মন্তব্য করা যায়নি, যদিও এই পোস্টটি কোনও উত্তরের পরিবর্তে কোনও মন্তব্যে অন্তর্ভুক্ত]

এই পদ্ধতিটি ব্যবহার করে, আপনি একটি বিদ্যমান ** নন - ** এনক্রিপ্টড lvm ইনস্টলকে নতুন ডিস্কে একটি এনক্রিপ্ট করা lvm ইনস্টল করতেও যেতে পারেন; http://blog.andreas-haerter.com/2011/06/18/ubuntu-full-disk-encryption-lvm এ যেমন উল্লেখ করা হয়েছে, কেবলমাত্র অতিরিক্ত পদক্ষেপগুলি (টার্গেট ডিস্কে ক্রুটসেটআপ ইনস্টল করার জন্য) দরকার -লুকস , বিশেষত:

apt-get install lvm2 cryptsetup

উপরের কমান্ডটি টার্গেট ডিস্কে lvm2 ইনস্টল করে, যদিও এটি অপ্রয়োজনীয়, আপনি যদি কোনও এসএসডি-তে একটি লাইভ সিডি / ডিভিডি ব্যবহার করে একটি নন lvm সিস্টেমকে কোনও lvm সিস্টেমে নিয়ে যাচ্ছেন তবে এটি কার্যকর হবে। মনে রাখবেন যে অ্যাপটি-ইনস্টল সফলভাবে ইনস্টল করতে সক্ষম হতে আপনাকে নিজের / /cc/resolve.conf- র অনুলিপি করতে হবে: উপরের বর্ণিত ইউআরএল, কোড টুকরাটিতে এটি উল্লেখ করা হয়েছে:sudo cp /etc/resolv.conf /mnt/sdcroot/etc/resolv.conf

এছাড়াও উবুন্টুকে কীভাবে একটি এসএসডি-তে স্থানান্তরিত করতে হবে তার বর্ণনা অনুযায়ী / পার্টিশনের জন্য আরএসসিএন-এর পরিবর্তে সিপি করা (একটি পৃথক ইনস্টলেশন (যে উত্স উত্স থেকে নয়) যেমন একটি লাইভ সিডি / ডিভিডি) ব্যবহার করা সহজ is

mkswapআপনার /dev/mapper/<swap-name-here>পার্টিশনটি ব্যবহার করে সম্ভবত অদলবদল করা উচিত ।

Http://www.webupd8.org/2013/01/enable-trim-on-ssd-solid-state-drives.html তে উল্লিখিত হিসাবে একই সময়ে ট্রিম সমর্থনও সক্ষম করা উচিত

সতর্কতা: নীচে আরও পাঠ্য এমবিআর ব্যবহারকারীদের জন্য নয়, যা এই বিষয় / থ্রেডের সাথে সম্পর্কিত বলে মনে হচ্ছে। আমি যাহাই হউক না কেন এই দরকারী খুঁজে পেয়েছি, সুতরাং যারা এই থ্রেড / বিষয়বস্তুতে নির্দেশাবলী তাদের জিপিটি ডিস্কের সাথে অভিযোজিত করতে পারেন তাদের উপকারের জন্য পোস্ট করছি ing

এবং যারা এমবিআর পরিবর্তে জিপিটি ব্যবহার করেন (fdisk এর পরিবর্তে parted / gpart এবং gdisk ব্যবহার করছেন), আমি জিপিটি ক্রমে আপনার লুক্স ডিভাইসের পরে আপনার / বুট পার্টিশনটি (যা এনক্রিপ্ট না করা হয়েছে) নাম্বার করা উচিত নয় তা হার্ডভাবে শিখেছি। যেহেতু আমি জিপিআরটি ব্যবহার করে / বুট এবং লুক্স ডিভাইস পার্টিশন তৈরি করার পরে একটি ইএসপি পার্টিশন তৈরি করেছি, তারপরে আমাকে পার্টিশন নম্বরগুলি বাছাই করতে হয়েছিল যাতে / বুটটি এখনও লুক্স ডিভাইসের চেয়ে কম নম্বরযুক্ত হয়।

একপাশে এবং কঠোরভাবে এই পোস্টের সাথে সম্পর্কিত না হওয়ার সাথে সাথে, জিপিটি এবং ইউইএফআই ব্যবহার করে যারা আরইএফআইইন্ড ব্যবহার করে, আরইএফআইন্ডে সম্ভবত আপনার সিস্টেমে একাধিক ইএসপি রয়েছে তা থেকে বুট করার জন্য পার্টিশনের একটি তালিকা উপস্থাপন করতে আপনার সমস্যা আছে, তবে আমার পরিবর্তে ডিস্কে একটি রয়েছে আরইএফআইএনডি ব্যবহার করে, আমি গ্রাব ব্যবহার করছি, যা ভাল কাজ করে।


0

বিভাগ ইনিরামফগুলি এবং গ্রাব করার আগে আপনার প্রয়োজন হতে পারে:

vgscan
vgchange -a y

0

কিছুটা দেরি হলেও অদলবদল পরিবর্তনের জন্য আপনাকে /etc/initramfs-tools/conf.d/resume ফাইল আপডেট করতে হবে। এই পরিবর্তন না করে আপনি হাইবারনেট ফাংশনটি ভেঙে ফেলবেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.