Saya baru-baru ini menginstal Ubuntu 12.10 dan membutuhkan kata sandi untuk boot (saya menginstalnya dengan sistem file terenkripsi).
Apakah saya harus menginstal ulang untuk mengubah ke sistem file tidak terenkripsi standar?
Saya baru-baru ini menginstal Ubuntu 12.10 dan membutuhkan kata sandi untuk boot (saya menginstalnya dengan sistem file terenkripsi).
Apakah saya harus menginstal ulang untuk mengubah ke sistem file tidak terenkripsi standar?
Jawaban:
Jika Ubuntu meminta frasa sandi enkripsi selama boot (yaitu pada konsol teks sebelum layar login ditampilkan), ini menunjukkan bahwa metode enkripsi disk penuh digunakan. (Ada lebih dari satu cara untuk melakukan ini, tetapi saya akan tetap menjawabnya secara umum.) Enkripsi ditangani oleh lapisan perangkat lunak tambahan antara sistem file dan hard drive fisik, bukan sistem file itu sendiri.
Tidak ada metode atau alat sederhana untuk membatalkan ini. Dengan sedikit pengetahuan tentang cara kerja sistem Linux, itu bisa dilakukan. Anda harus memindahkan seluruh sistem file (atau semua file) ke partisi lain (dengan ruang kosong yang cukup) atau HDD eksternal. Kemudian, hapus wadah yang dienkripsi, dan buat ulang sistem file tanpa enkripsi. Terakhir, pastikan bahwa sistem file baru dikenali dengan benar oleh boot loader dan mount -a
sebelum reboot.
Jika memungkinkan, sebaiknya hindari prosedur yang memakan waktu dan rawan kesalahan ini. Lakukan instalasi baru. Untuk pengguna baru, ini adalah opsi tercepat dan teraman.
PS: Kemungkinannya adalah Anda dapat mengubah frasa sandi enkripsi, mungkin menjadi string kosong. Maka mendekripsi hanya perlu menekan Enter. Mungkin Anda bisa melangkah lebih jauh dan menekan passphrase prompt (sekarang tidak berguna). Namun, ini tidak menonaktifkan enkripsi. Data masih akan dienkripsi meskipun enkripsi tidak akan berguna karena kuncinya dapat ditebak secara sepele.
dd
dan driver yang mendasarinya tidak menulis sampai mereka selesai membaca setiap blok (mungkin ada flag dan pengaturan untuk memastikan ini) 2. baca / tulis blok tidak tumpang tindih tepi blok enkripsi (dapat diperiksa, mungkin melibatkan beberapa matematika) 3. informasi header penting yang diperlukan untuk dekripsi tidak ditimpa sebelum selesai (periksa format enkripsi yang mendasarinya, mungkin proses dari ujung-ke-mulai). Saya pikir itu mungkin tetapi akan membutuhkan pengaturan dan analisis yang lebih hati-hati.
Di bawah ini solusi saya yang berfungsi. Ingatlah bahwa saya bukan spesialis Linux, jadi ini mungkin bukan solusi terbaik. Tidak dapat menemukan yang lebih baik.
CATATAN : Setiap kali saya mengatakan, maksud saya
/dev/sda1 - boot partition
/dev/sda5 - encrypted partition
/dev/sda3 - clean non-encrypted EXT4 partition
/dev/sda2 - my newly created swap partition
Boot dari CD live. Saya telah menggunakan Ubuntu 13.10 32bit desktop ISO.
Pasang partisi Anda:
sudo cryptsetup luksOpen /dev/sda5 crypt1
Salin data sumber Anda ke partisi tujuan dan simpan dd PID ke variabel pid:
sudo dd if=/dev/ubuntu-vg/root of=/dev/sda3 bs=1M & pid=$!
Ini akan melakukan ping setiap proses dd detik dengan sinyal USR1 dan status hasil dd:
while sudo kill -USR $pid; do sleep 1; done
Jika Anda tidak suka 'metode saat' di atas, Anda dapat menggunakan arloji. Buka jendela terminal yang berbeda dan dapatkan PID:
pgrep -l '^dd$' | awk '{ print $1 }'
Ganti dengan ID proses Anda:
watch kill -USR1 <pid>
Anda akan melihat output di terminal dd Anda masing-masing 2s.
Setelah selesai, Anda dapat memasang partisi yang tidak dienkripsi untuk melihat apakah tidak apa-apa:
sudo mount /dev/sda3 /mnt
Setelah itu lepaskan partisi Anda:
sudo umount /dev/sda3
Lepaskan partisi crypt:
sudo cryptsetup luksClose /dev/sda5
Jalankan gparted. Hapus partisi LUKS Anda (baik yang diperluas maupun yang logis). Ubah ukuran / dev / sda3 Anda dan pindah ke kiri. Buat partisi swap.
Catatan: Memindahkan / dev / sda3 Anda ke kiri mungkin butuh waktu lama. Bagi saya butuh 30 menit pada partisi 120GB dan drive SSD. Jika Anda memiliki 500GB + HDD, bersiaplah selama beberapa jam menunggu. Anda mungkin ingin membuat swap sebelum partisi Anda alih-alih memindahkan / dev / sda3 Anda.
Buat sistem file swap baru di partisi swap Anda:
sudo mkswap /dev/sda2
dan simpan di suatu tempat UUID.
Dapatkan UUID partisi root Anda:
sudo blkid /dev/sda3
Edit fstab:
sudo nano /etc/fstab
Hapus atau komentari overlayfs dan tmpfs lines.
Tambahkan penggantian baris dengan hasil blkid:
UUID=<uuid_root> / ext4 errors=remount-ro 0 1
UUID=<uuid_swap> none swap sw 0 0
Hapus file:
rm /etc/crypttab
Perbarui initramfs Anda untuk menghindari kesalahan seperti "cryptsetup: evms_activate tidak tersedia":
sudo -i
mount /dev/sda3 /mnt
mount -t proc none /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount /dev/sda1 /mnt/boot
chroot /mnt /bin/bash
apt-get remove --purge cryptsetup
update-initramfs -u -k all
Ini berhasil untuk saya, namun ada kemungkinan bahwa melakukan langkah demi langkah di atas mungkin tidak berhasil untuk Anda. Sebelum saya menemukan metode update-initramfs saya menginstal ulang kernel beberapa kali juga memodifikasi grub. Namun itu seharusnya tidak menjadi kasus untuk Anda. Ingatlah bahwa instruksi di atas dapat menghapus data Anda, jadi berhati-hatilah dan lakukan CADANGAN , SEBELUM memprosesnya.
Kalau-kalau Anda memiliki masalah kernel (chroot dan / boot terpasang):
uname -r
sudo apt-get install --reinstall linux-image-3.X.Y-ZZ-generic
Tentu saja ganti linux-image-3.XY-ZZ dengan tanggal kernel Anda dari uname.
atau GRUB (di luar chroot):
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)
Rincian lebih lanjut: https://help.ubuntu.com/community/Boot-Repair
Semoga berhasil
/etc/initramfs-tools/conf.d/resume
secara manual dan saya akan merekomendasikan menyalin isi sistem file dengan cp -a
atau rsync -a
karena itu akan lebih cepat secara umum dan lebih aman untuk SSD.
dd
salinan seluruh partisi, bahkan blok yang harus kosong, yang menyebabkan penulisan yang tidak perlu ke SSD (dan pada beberapa itu bahkan merusak penulisan kinerja untuk hampir semua sel). Beberapa tahun yang lalu saya dan beberapa orang lain juga menemukan bahwa menyalin dengan dd
dan mengaktifkan TRIM (opsi buang EXT4) akan menyebabkan TRIM untuk menghapus blok yang dianggap kosong dan meninggalkan Anda dengan instalasi yang rusak setelah beberapa jam.
Dalam hal tidak apa-apa untuk menjaga enkripsi, tetapi untuk mematikan prompt passphrase, pendekatan yang jauh lebih sederhana adalah dengan hanya menetapkan kata sandi sepele seperti "kata sandi" dan kemudian menyimpan kata sandi sepele dalam initramfs di cleartext. Nonaktifkan kata sandi enkripsi LUKS .
Pada dasarnya, tambahkan skrip kait yang pada gilirannya menambahkan "skrip kunci" ke initramfs. Biasanya skrip ini digunakan untuk mendapatkan kata sandi melalui Bletooth, dari stik USB dll., Tetapi dalam hal ini, buat saja untuk mencetak kata sandi yang sepele.