Bagaimana cara menghubungkan GRUB2 untuk Ubuntu 10.04 dari Truecrypt & bootloader-nya (multi-boot bersama partisi Windows XP)?

9

Saya ingin Truecrypt meminta kata sandi untuk Windows XP seperti biasa tetapi dengan opsi [ESC] standar, pada pemilihan itu, yaitu melalui tombol Escape, saya ingin Truecrypt menemukan grub untuk instalasi Ubuntu (tidak terenkripsi).

Saya telah menginstal Windows XP pada hard drive 120GB dari netbook Toshiba NB100 kemudian dipartisi untuk memberikan ruang bagi Ubuntu 10,04 dan menginstalnya setelah instalasi Windows XP.

Ketika saya mengenkripsi Windows XP, Truecrypt akan menimpa entri grub di master boot record (MBR), saya percaya (?) Dan saya tidak akan dapat memilih antara XP dan Ubuntu lagi. Jadi saya harus mengembalikannya.

Saya telah mencari jawaban yang cukup luas di forum Ubuntu dan di tempat lain tetapi belum menemukan jawaban lengkap yang mencakup semua kemungkinan, skenario dan pesan kesalahan, atau kalau tidak mereka berbicara tentang GRUB warisan dan bukan GRUB2. Ubuntu 10,04 menggunakan GRUB2.

Pengaturan saya:

Partisi:

  1. Windows XP, NTFS (dienkripsi dengan Truecrypt), 40Gb
  2. / boot (Ext4, 1Gb)
  3. Ubuntu swap, 4Gb
  4. Ubuntu / (root) - sistem file utama (20gb)
  5. Berbagi NTFS, 55Gb

Saya tahu bahwa boot loader Truecrypt menggantikan GRUB ketika boot karena saya sudah mencobanya di laptop lain.

Saya ingin layar boot loader terlihat seperti biasa:

Truecrypt

Masukkan kata kunci:

(atau [ESC] untuk melewati)

kata sandi untuk WindowsXP dan menekan [ESC] untuk itu untuk menemukan grub Ubuntu untuk boot

Terima kasih sebelumnya atas bantuan Anda.

Area utama masalahnya adalah bagaimana cara menginstruksikan Truecrypt ketika tombol escape ditekan, dan bagaimana Grub / Ubuntu dapat dibuat terlihat oleh bootloader truecrypt untuk menemukannya, ketika tombol esc ditekan. Mengetahui juga sebagai rantai.

therobyouknow
sumber

Jawaban:

6

Ini cukup mudah. Partisi disk Anda, instal Windows dan Ubuntu. Gunakan TrueCrypt pada partisi Windows, yang akan mengenkripsi Windows tetapi membiarkan Ubuntu tidak terenkripsi.

Anda kemudian akan menemukan bahwa Anda mungkin hanya bisa boot ke Windows, dan kemudian melalui bootloader TrueCrypt. Kedengarannya kau sudah di sana.

Katakanlah disk Anda sda, dengan Windows aktif sda1dan Linux aktif sda2(ini hipotetis, sepertinya Anda tidak akan melakukannya sda2). TrueCrypt akan menginstal ke MBR sdadan menimpa GRUB.

Gunakan CD distro Ubuntu untuk mem-boot CD langsung, lalu chroot ke sistem pra-instal Anda. Seperti itu:

sudo su -
mkdir -p /mnt/ubuntu
mount /dev/sda2 /mnt/ubuntu
mount --bind /proc /mnt/ubuntu/proc
mount --bind /dev /mnt/ubuntu/dev
chroot /mnt/ubuntu

Kemudian instal bootloader GRUB, tetapi untuk sda2, alih-alih sda.

grub-install /dev/sda2 --force

Kemudian, ketika Anda reboot, Anda masih akan mendapatkan loader TrueCrypt yang meminta kata sandi untuk boot dari sda-> sda1ke Windows. Tetapi ketika Anda menekan ESCAPE Anda akan mendapatkan opsi untuk memotong dan mem-boot langsung ke Linux, tetapi dari sda2pada MBR.

Tapi tunggu

Sebelum Anda melakukan ini, satu peringatan: jika Anda grub-installsalah, dan menimpa sdaMBR, atau jika Anda melakukan peningkatan kernel yang memicu GRUB untuk menimpa MBR, Anda akan perlu menginstal ulang bootloader TrueCrypt agar dapat kembali. ke dalam Windows. Ini merepotkan jika Anda tidak siap.

Saya menyarankan agar sebelum Anda mengutak-atik GRUB, Anda mencadangkan hal-hal bootloader TrueCrypt dari dalam Linux. Dengan begitu, ketika Anda memecahkan TrueCrypt dan hanya bisa masuk ke Linux, Anda dapat dengan mudah menulisnya kembali.

Cadangkan TrueCrypt boot loader Anda:

dd if=/dev/sda of=~/truecrypt.mbr count=1 bs=512
dd if=/dev/sda of=~/truecrypt.backup count=8 bs=32256 # Just in case

Pulihkan boot loader TrueCrypt Anda (saya sebut ini restore-truecrypt.sh):

sudo dd if=~/truecrypt.mbr of=/dev/sda count=1 bs=512
sudo dd if=~/truecrypt.backup of=/dev/sda count=8 bs=32256
sudo grub-install /dev/sda2 --force

Saya memiliki kedua set perintah ini dalam skrip shell kecil, yang berguna bagi saya. Ketika saya tidak sengaja men-boot bootloader saya (itu terjadi) saya tidak ingin Googling berkeliling untuk perintah atau membaca man.

Oh, dan sebuah kata tentang kompatibilitas. Ketika saya menulis "GRUB", yang saya maksud adalah GRUB 1 atau 2. Secara pribadi, saya melakukannya dengan GRUB 2 pada 10,04 dan Windows 7 ... tetapi bekerja dengan baik dengan versi lama GRUB, Windows dan Linux.

Aidan Fitzpatrick
sumber
Terima kasih banyak @fitzpatrick atas jawaban ini. Aku akan memeriksanya ketika aku punya waktu lagi. Saya terbawa oleh diri sendiri mengutak-atik mencoba untuk membuatnya bekerja jadi saya tentu arah yang tepat Anda :) Saya akan memberi tahu Anda, di sini, apa temuan saya.
therobyouknow
apa sebenarnya "dd if = / dev / sda dari = ~ / truecrypt.backup count = 8 bs = 32256" cadangan? Tajuk TC? Terima kasih!
stefan.at.wpf
lebih lanjut, apakah sda2 partisi / boot?
stefan.at.wpf
ok sda2 adalah parittion root, sial, punyaku crypted ...
stefan.at.wpf
The ddperintah menyalin 32KB pertama disk: pada dasarnya sektor boot penuh. Pada contoh yang saya berikan di atas tidak ada partisi boot terpisah, instalasi nix berada pada satu partisi. Pada hari-hari awal RedHat saya menggunakan alat tentang dengan partisi yang terpisah pada desktop Linux. Saat ini dengan disk besar saya pikir Anda dapat menyimpan omong kosong itu untuk server Anda dalam banyak kasus!
Aidan Fitzpatrick
2

Jawaban yang akan saya terima untuk pertanyaan ini adalah milik saya. Dan jawaban itu adalah menerima bahwa saya tidak dapat * melakukan ini dan saya akan menerima salah satu alternatif:

  1. Gunakan aplikasi virtualisasi / VM ware yang berjalan di Windows XP (partisi drive sistem terenkripsi) host Ubuntu, seperti VirtualBox, VMWare atau Parallels. Jadi saya harus boot ke Windows kemudian jalankan aplikasi ini dan boot ke Ubuntu dari dalam ini. Beberapa komentator menyebutkan salah satu kelemahan dari pendekatan ini adalah Anda harus boot dua kali (XP pertama, lalu Ubuntu) untuk sampai ke Ubuntu. Namun, saya akan mengatakan itu benar-benar memiliki keunggulan dibandingkan dengan dual boot yang diluncurkan oleh BIOS di mana Anda sebenarnya menjalankan kedua OS pada saat yang sama. Hebat jika Anda ingin, misalnya, menguji aplikasi atau halaman web dengan cepat pada berbagai platform.

  2. Gunakan hard drive sekunder atau kartu SD (misalnya 8gb, 16Gb) untuk Ubuntu dan pilih dari boot BIOS (satu kali) untuk mem-boot Ubuntu dari sana.

* Tidak dapat = benar-benar berarti saya telah menghabiskan cukup waktu (sekitar 6 jam lebih dari 3 hari, pergi, menjernihkan pikiran saya, mencari forum kembali segar) pada ini dan tidak siap untuk menghabiskan lagi. Jadi saya tidak bisa dituduh malas dan mengandalkan orang lain. Tidak bisa = juga berarti: tidak bisa saat ini . Saya dapat meninjau kembali ini lagi.

Berikut beberapa referensi yang mungkin berguna bagi orang lain:

Semua hal di atas menawarkan beberapa wawasan tetapi bukan jawaban lengkap definitif yang mencakup setiap kemungkinan atau versi grub.

Saya telah memposting pertanyaan yang sama di sini di superuser, di forum ubuntuforums dan truecrypt:

Pembenaran saya dalam melakukan ini adalah bahwa pembaca forum ini tidak harus membaca forum lain, akan ada beberapa tumpang tindih tetapi beberapa saran penting mungkin terlewatkan.

Pikiran dan pembelajaran latar belakang (jika tertarik!)

Saya sebenarnya cukup senang mengatakan bahwa saya memanggilnya sehari dan mencari alternatif meskipun saya membiarkannya menjadi lebih baik dari saya dan terus berjuang untuk menang dan memecahkan jawaban saya. Tapi itu melegakan untuk menerima bahwa itu tidak dapat dilakukan (dengan mudah) dan ada alternatif. Sekarang saya bisa melanjutkan dengan hal-hal yang lebih penting! Saya sudah dual boot Windows 7 dan Ubuntu 10,04 pada desktop tanpa enkripsi - itu adalah prosedur yang sangat mudah. Dan dengan alternatifnya, saya tidak jauh dari apa yang saya inginkan dalam jawaban asli saya. Sebenarnya saya tidak menggunakan Ubuntu pada notebook sebanyak Windows saat ini sehingga saya tidak akan kehilangan begitu banyak. Saya juga punya MacBookPro, jadi saya sama sekali bukan penggemar Windows daripada OS lainnya!

Inilah alasan mengapa saya ingin truecrypt windows dual boot dienkripsi dengan Ubuntu, dari perspektif pengguna lain:

http://blog.mfabrik.com/2008/07/15/perfect-dual-boot-crypted-hard-disk-setup-with-truecrypt-and-luks/

"Saya punya laptop kantor yang digunakan di Symbian dan pengembangan web. Saya harus bisa mem-boot Vista dan Linux. Karena privasi klien, kedua sistem operasi harus di-crypt untuk kasus laptop yang hilang. Bahkan jika saya tidak menggunakan Windows secara aktif, data peramban webnya mungkin berisi kata sandi yang disimpan untuk sistem klien dan akan menjadi bencana jika bocor secara tidak sengaja. "

Grub2 jauh lebih kompleks daripada grub, beberapa mungkin berpendapat demikian. Saya sukses dengan Ubuntu pra-10.04 (GRUB bukan GRUB2) dengan Windows XP:

http://www.howtoforge.com/forums/showthread.php?p=184776#post184776

Saya katakan lebih kompleks karena ada lebih banyak file pengaturan sekarang hadir, tersebar lebih banyak direktori dengan referensi di antara mereka, beberapa sekarang mesin yang dihasilkan dan mengeditnya disarankan, misalnya menu boot, ada semacam bahasa scripting untuk belajar dan penerjemah skrip untuk dijalankan saat perubahan dilakukan. Ini terlalu terlibat untuk saya saat ini, dan itu hanya untuk meluncurkan sistem operasi, bukan roket ke bulan!

therobyouknow
sumber
Opsi yang belum saya pertimbangkan adalah menggunakan Ubuntu Alternate CD / .ISO image - unduh di sini: releases.ubuntu.com/lucid Jika Anda melihat di forum Ubuntu (tautan di atas) di mana saya telah mengirim salinan pertanyaan, Anda akan melihat posting dari responden yang menyebutkan ini. Poin kuncinya adalah memberi Anda pilihan untuk meletakkan GRUB (dan akan melakukannya secara resmi dan benar, daripada menebak secara manual seperti yang telah saya lakukan) dan poster mengklaim bahwa mereka telah mencapai Ubuntu terenkripsi dan Windows Truecrypted pada mesin yang sama - yang merupakan tujuan saya.
therobyouknow
1

Saya pikir saya baru saja menyelesaikan ini dengan cukup lancar. Situasi asli saya adalah sebagai berikut: Saya memiliki netbook yang tidak terenkripsi (MSI U160) dengan partisi Windows 7 dan partisi Ubuntu 10.10 (grub2 Ubuntu berada di MBR).

  1. Untuk menginstal Truecrypt, saya harus menginstal ulang Windows 7 ke dalam partisi aslinya.
  2. Kemudian saya menginstal truecrypt (mengenkripsi seluruh partisi windows 7)
  3. Menggunakan petunjuk ini saya menginstal ulang Ubuntu dari kunci USB, menempatkan loader grub2 ke partisi Ubuntu
  4. Setelah reboot, saya mendapatkan boot loader TrueCrypt. Saya menekan [ESC] dan saya mendapatkan daftar partisi yang bisa diangkut, termasuk yang linux (ini juga memperlihatkan partisi windows, tetapi karena itu terenkripsi, booting itu akan gagal).

Saya harap ini yang Anda inginkan juga.

Huhu Lesny
sumber
1

Saya hanya menghabiskan 2 hari terakhir berjuang melawan ini, dan tidak bisa mendapatkan jawaban ini untuk saya. Apa yang akhirnya berhasil, saya telah dokumentasikan di blog saya . Ini adalah versi rangkuman (dikerjakan dengan Debian wheezy; juga bisa digunakan untuk Ubuntu. Distribusi lain mungkin perlu sedikit modifikasi):

Pada dasarnya, Anda memuat GRUB2 untuk memuat SYSLINUX, yang kemudian mem-boot image TrueCrypt Rescue ISO, yang memungkinkan Anda untuk boot ke Linux.

  1. Instal syslinux:

    sudo aptitude install syslinux
    
  2. Salin file ke tempatnya:

    sudo cp /usr/lib/syslinux/memdisk /boot/
    sudo cp TrueCrypt\ Rescue\ Disk.iso /boot/truecrypt-rescue-disk.iso
    
  3. Tentukan UUID partisi boot Anda:

    sudo blkid /dev/sda2
    

    Output akan terlihat seperti ini:

    / dev / sda3: UUID = "12345678-1234-1234-1234567890"

  4. Konfigurasikan GRUB2:

    Tambahkan yang berikut ke /etc/grub.d/40_custom:

    menuentry "TrueCrypt ISO boot" {
        insmod part_msdos
        insmod fat
        insmod ext2
        insmod search_fs_uuid
        search --fs-uuid --no-floppy --set=boot [UUID without quotes]
        linux16 ($boot)/memdisk iso raw
        initrd16 ($boot)/truecrypt-rescue-disk.iso
    }
    
  5. Muat ulang konfigurasi GRUB2

    sudo update-grub
    

Perhatikan bahwa ini akan menunjukkan kepada Anda opsi Perbaikan [F8] setiap kali Anda mem-boot ke Windows, karena kami menipu sistem untuk mem-boot image TrueCrypt Rescue CD dari hard drive, daripada metode boot TrueCrypt "normal". Tetapi sepertinya ini adalah kelemahan kecil bagi saya (dan bahkan mungkin dianggap sebagai fitur tambahan!)

Flimzy
sumber
+1 upvote untuk upaya sukses Anda, kerja bagus @Flimzy Pada titik tertentu saya ingin mencoba jawaban Anda dan melaporkan kembali, dan jika saya dapat mengulangi kesuksesan Anda, saya ingin membuat jawaban Anda diterima (saya mungkin akan melakukan ini lebih cepat lagi karena Saya tidak memiliki mesin yang tersedia untuk bereksperimen, mereka semua digunakan untuk hal-hal lain saat ini). Terima kasih lagi!
therobyouknow
-1

solusi: mungkin menyalin truecrypt bootloader ke file IMG untuk di-boot oleh grub? atau mungkin menggunakan Grub4Dos untuk memuat Ubuntu?

huan keur
sumber