Làm cách nào để xâu chuỗi GRUB2 cho Ubuntu 10.04 từ Truecrypt & bộ tải khởi động của nó (đa khởi động cùng với phân vùng Windows XP)?


9

Tôi muốn Truecrypt yêu cầu mật khẩu cho Windows XP như bình thường nhưng với tùy chọn [ESC] tiêu chuẩn, khi chọn điều đó, tức là thông qua khóa Escape, tôi muốn nó tìm ra phần mềm cho cài đặt Ubuntu (không được mã hóa).

Tôi đã cài đặt Windows XP trên ổ cứng 120Gb của netbook Toshiba NB100 sau đó được phân vùng để nhường chỗ cho Ubuntu 10.04 và cài đặt nó sau khi cài đặt Windows XP.

Khi tôi mã hóa Windows XP, Truecrypt sẽ ghi đè mục nhập grub trong bản ghi khởi động chính (MBR), tôi tin (?) Và tôi sẽ không thể chọn giữa XP và Ubuntu nữa. Vì vậy, tôi cần khôi phục lại.

Tôi đã tìm kiếm khá nhiều câu trả lời trên các diễn đàn Ubuntu và các nơi khác nhưng chưa tìm thấy câu trả lời đầy đủ bao gồm tất cả các tình huống, tình huống và thông báo lỗi, hoặc nói cách khác là họ nói về GRUB2 kế thừa chứ không phải GRUB2. Ubuntu 10.04 sử dụng GRUB2.

Thiết lập của tôi:

Phân vùng:

  1. Windows XP, NTFS (được mã hóa bằng Truecrypt), 40Gb
  2. / khởi động (Ext4, 1Gb)
  3. Trao đổi Ubuntu, 4Gb
  4. Ubuntu / (root) - hệ thống tập tin chính (20gb)
  5. Chia sẻ NTFS, 55Gb

Tôi biết rằng trình tải khởi động Truecrypt thay thế GRUB khi khởi động vì tôi đã thử nó trên một máy tính xách tay khác.

Tôi muốn màn hình bộ tải khởi động trông giống như bình thường:

Truecrypt

Nhập mật khẩu:

(hoặc [ESC] để bỏ qua)

mật khẩu dành cho WindowsXP và nhấn [ESC] để tìm Ubuntu grub để khởi động từ

Cảm ơn trước sự giúp đỡ của bạn.

Khu vực chính của vấn đề là làm thế nào để hướng dẫn Truecrypt khi nhấn phím thoát và cách Grub / Ubuntu có thể hiển thị cho bộ tải khởi động truecrypt để tìm nó, khi nhấn phím esc. Cũng biết như xích.

Câu trả lời:


6

Điều này là khá dễ dàng. Phân vùng đĩa của bạn, cài đặt Windows và Ubuntu. Sử dụng TrueCrypt trên phân vùng Windows, sẽ mã hóa Windows nhưng không được mã hóa Ubuntu.

Sau đó, bạn sẽ thấy bạn chỉ có thể khởi động vào Windows và sau đó thông qua bộ tải khởi động TrueCrypt. Âm thanh như bạn đã có.

Giả sử đĩa của bạn là sda, bật Windows sda1và Linux sda2(đây là giả thuyết, ổ đĩa của bạn trông giống như vậy sda2). TrueCrypt sẽ cài đặt vào MBR trên sdavà ghi đè GRUB.

Sử dụng đĩa CD distro Ubuntu để khởi động CD trực tiếp, sau đó chroot vào hệ thống được cài đặt sẵn của bạn. Thích như vậy:

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

Sau đó cài đặt bộ tải khởi động GRUB, nhưng sda2, hơn là sda.

grub-install /dev/sda2 --force

Sau đó, khi bạn khởi động lại, bạn vẫn sẽ nhận được trình tải TrueCrypt yêu cầu bạn nhập mật khẩu để khởi động từ sda-> sda1vào Windows. Nhưng khi bạn nhấn ESCAPE, bạn sẽ có tùy chọn bỏ qua và khởi động thẳng vào Linux, nhưng từ sda2thay vì MBR.

Nhưng đợi đã

Trước khi bạn thực hiện việc này, một cảnh báo: nếu bạn hiểu grub-installsai và ghi đè sdaMBR hoặc nếu bạn thực hiện nâng cấp kernel kích hoạt GRUB để ghi đè MBR, bạn sẽ thấy bạn cần cài đặt lại bộ tải khởi động TrueCrypt để quay lại vào Windows. Đây là một rắc rối lớn nếu bạn không chuẩn bị.

Tôi đề nghị rằng trước khi bạn sử dụng GRUB, bạn hãy sao lưu công cụ bộ tải khởi động TrueCrypt từ bên trong Linux. Bằng cách đó, khi bạn phá vỡ TrueCrypt và chỉ có thể vào Linux, bạn có thể dễ dàng viết lại.

Sao lưu bộ tải khởi động TrueCrypt của bạn:

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

Khôi phục bộ tải khởi động TrueCrypt của bạn (tôi gọi đây là 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

Tôi có cả hai bộ lệnh này trong các tập lệnh shell nhỏ, mà tôi giữ cho tiện dụng. Khi tôi vô tình hạ gục bộ tải khởi động của mình (nó xảy ra), tôi không muốn làm việc với các lệnh hoặc đọc man.

Oh, và một từ về khả năng tương thích. Khi tôi viết "GRUB", ý tôi là GRUB 1 hoặc 2. Cá nhân tôi làm điều đó với GRUB 2 vào ngày 10.04 và Windows 7 ... nhưng nó hoạt động tốt với các phiên bản cũ hơn của GRUB, Windows và Linux.


Cảm ơn bạn rất nhiều @fitzpatrick cho câu trả lời này. Tôi sẽ kiểm tra nó khi tôi có thêm thời gian. Tôi đã mang theo bản thân mình đang cố gắng làm cho nó hoạt động để tôi chắc chắn hướng đi chính xác của bạn :) Tôi sẽ cho bạn biết, ở đây, những phát hiện của tôi là gì.
trị liệu

chính xác thì "dd if = / dev / sda of = ~ / truecrypt.backup Count = 8 bs = 32256" sao lưu là gì? Tiêu đề TC? cảm ơn!
stefan.at.wpf

hơn nữa, là sda2 phân vùng / boot?
stefan.at.wpf

ok sda2 là parittion gốc, chết tiệt, của tôi đã được mã hóa ...
stefan.at.wpf

Các ddlệnh được sao chép 32Kb đầu tiên của đĩa: về cơ bản boot sector đầy đủ. Trong ví dụ tôi đã đưa ra ở trên không có phân vùng khởi động riêng biệt, cài đặt nix nằm trên một phân vùng duy nhất. Trong những ngày đầu RedHat, tôi thường sử dụng các phân vùng riêng trên máy tính để bàn Linux. Ngày nay với các đĩa lớn, tôi nghĩ rằng bạn có thể lưu phần cứng đó cho máy chủ của mình trong hầu hết các trường hợp!
Aidan Fitzpatrick

2

Câu trả lời tôi sẽ chấp nhận cho câu hỏi này là của riêng tôi. Và câu trả lời là chấp nhận rằng tôi không thể * làm điều này và tôi sẽ chấp nhận một trong những lựa chọn thay thế:

  1. Sử dụng ứng dụng ảo hóa / VM ware chạy trong Windows XP (phân vùng ổ đĩa hệ thống được mã hóa) lưu trữ Ubuntu, như VirtualBox, VMWare hoặc Parallels. Vì vậy, tôi sẽ phải khởi động vào Windows sau đó chạy ứng dụng này và khởi động vào Ubuntu từ bên trong này. Một số nhà bình luận liệt kê một trong những nhược điểm của phương pháp này là bạn phải khởi động hai lần (lần đầu tiên là XP, sau đó là Ubuntu) để đến Ubuntu. Tuy nhiên, tôi sẽ nói rằng nó thực sự có một lợi thế so với khởi động kép thông thường do BIOS khởi động ở chỗ bạn thực sự có cả hai hệ điều hành đang chạy cùng một lúc. Tuyệt vời nếu bạn muốn, ví dụ, nhanh chóng kiểm tra các ứng dụng hoặc trang web trên nhiều nền tảng.

  2. Sử dụng ổ cứng thứ cấp hoặc thẻ SD (ví dụ 8gb, 16Gb) cho Ubuntu và chọn từ BIOS (một lần) để khởi động Ubuntu từ đó.

* Không thể = thực sự có nghĩa là tôi đã dành đủ thời gian (khoảng 6 giờ trong 3 ngày, sẽ biến mất trí óc, tìm kiếm các diễn đàn trở lại được làm mới) về điều này và không sẵn sàng chi tiêu nữa. Vì vậy, tôi không thể bị buộc tội là lười biếng và dựa dẫm vào người khác. Không thể = cũng có nghĩa là: không thể tại thời điểm này . Tôi có thể xem lại điều này một lần nữa.

Đây là một số tài liệu tham khảo mà những người khác có thể thấy hữu ích:

Tất cả những điều trên cung cấp một số cái nhìn sâu sắc nhưng không phải là một câu trả lời hoàn chỉnh dứt khoát bao gồm mọi phiên bản tình huống hoặc grub.

Tôi đã đăng câu hỏi tương tự ở đây trên superuser, trên các diễn đàn ubuntuforums và truecrypt:

Lý do của tôi khi làm điều này là độc giả của các diễn đàn này sẽ không nhất thiết phải đọc các diễn đàn khác, sẽ có một số chồng chéo nhưng một số lời khuyên quan trọng có thể bị bỏ lỡ.

Suy nghĩ và học hỏi nền tảng (nếu quan tâm!)

Tôi thực sự khá hài lòng khi nói rằng tôi đã gọi nó một ngày và tìm đến các giải pháp thay thế mặc dù tôi đã để nó giúp tôi tốt hơn và tiếp tục chiến đấu để giành chiến thắng và giải quyết câu trả lời của tôi. Nhưng thật nhẹ nhõm khi chấp nhận rằng nó không thể được thực hiện (một cách dễ dàng) và có những lựa chọn thay thế. Bây giờ tôi có thể có được với những điều quan trọng hơn! Tôi đã khởi động kép Windows 7 và Ubuntu 10.04 trên máy tính để bàn mà không cần mã hóa - đó là một thủ tục khá đơn giản. Và với các lựa chọn thay thế, tôi không xa rời những gì tôi muốn trong câu trả lời ban đầu của mình. Trên thực tế, hiện tại tôi không sử dụng Ubuntu trên máy tính xách tay nhiều như Windows vì vậy tôi sẽ không thiếu nó nhiều. Tôi cũng có một chiếc MacBookPro, vì vậy không có nghĩa là một người hâm mộ Windows hơn bất kỳ hệ điều hành nào khác!

Đây là một lý do tại sao tôi muốn khởi động hai cửa sổ được mã hóa truecrypt với Ubuntu, từ quan điểm của người dùng khác:

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

"Tôi có một máy tính xách tay làm việc được sử dụng trong phát triển web và Symbian. Tôi cần có khả năng khởi động cả Vista và Linux. Do quyền riêng tư của khách hàng, cả hai hệ điều hành phải được mã hóa cho trường hợp máy tính xách tay bị mất. Ngay cả khi tôi không sử dụng Windows tích cực, dữ liệu trình duyệt web của nó có thể chứa mật khẩu được lưu trữ cho các hệ thống máy khách và thật là thảm khốc khi rò rỉ chúng một cách tình cờ. "

Grub2 phức tạp hơn nhiều so với grub, một số có thể tranh luận nhất thiết là như vậy. Tôi đã thành công với Ubuntu trước 10.04 (GRUB chứ không phải GRUB2) với Windows XP:

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

Tôi nói phức tạp hơn vì hiện tại có nhiều tệp cài đặt hơn, trải rộng trên nhiều thư mục hơn với các tham chiếu giữa chúng, một số hiện được tạo bằng máy và chỉnh sửa chúng, ví dụ: menu boot, có một loại ngôn ngữ script để tìm hiểu và thông dịch kịch bản để chạy khi một thay đổi được thực hiện. Hiện tại nó quá liên quan đến tôi và chỉ để khởi động một hệ điều hành, không phải là một tên lửa lên mặt trăng!


Một tùy chọn tôi chưa xem xét là sử dụng hình ảnh CD / .ISO thay thế của Ubuntu - tải xuống tại đây: phát hành.ubfox.com/lucid Nếu bạn xem trên diễn đàn Ubuntu (liên kết ở trên) nơi tôi đã đăng một bản sao của câu hỏi, bạn sẽ thấy một bài đăng từ người trả lời đề cập đến điều này. Điểm mấu chốt là nó cho bạn lựa chọn đặt GRUB (và sẽ thực hiện chính thức và đúng cách, thay vì đoán thủ công như tôi đã làm) và người đăng tuyên bố rằng họ đã đạt được Windows được mã hóa và Truecrypted Windows trên cùng một máy - đó là mục tiêu của tôi
trị liệu

1

Tôi nghĩ rằng tôi chỉ giải quyết điều này khá trơn tru. Tình huống ban đầu của tôi là như sau: Tôi có một netbook không được mã hóa (MSI U160) với phân vùng Windows 7 và phân vùng Ubuntu 10.10 (grub2 của Ubuntu đang ngồi trong MBR).

  1. Để cài đặt Truecrypt, tôi phải cài đặt lại Windows 7 vào phân vùng ban đầu.
  2. Sau đó, tôi đã cài đặt truecrypt (mã hóa toàn bộ phân vùng windows 7)
  3. Sử dụng các hướng dẫn này, tôi đã cài đặt lại Ubuntu từ khóa USB, đặt trình tải grub2 lên phân vùng Ubuntu
  4. Sau khi khởi động lại, tôi nhận được bộ tải khởi động TrueCrypt. Tôi nhấn [ESC] và tôi nhận được một danh sách các phân vùng có thể điều khiển được, bao gồm cả phân vùng linux (nó cũng hiển thị phân vùng windows, nhưng vì nó được mã hóa nên việc khởi động sẽ thất bại).

Tôi hy vọng đây là những gì bạn muốn là tốt.


1

Tôi mới dành 2 ngày cuối cùng để chiến đấu với điều này, và không thể có bất kỳ câu trả lời nào trong số này để làm việc cho tôi. Những gì tôi cuối cùng đã làm việc, tôi đã ghi lại trên blog của mình . Đây là phiên bản tóm tắt (được thực hiện với Debian wheezy; cũng nên hoạt động cho Ubuntu. Các bản phân phối khác có thể cần sửa đổi nhỏ):

Về cơ bản, bạn tải GRUB2 theo chuỗi để tải SYSLINUX, từ đó khởi động hình ảnh ISO TrueCrypt Rescue, cho phép bạn khởi động vào Linux.

  1. Cài đặt syslinux:

    sudo aptitude install syslinux
    
  2. Sao chép tập tin vào vị trí:

    sudo cp /usr/lib/syslinux/memdisk /boot/
    sudo cp TrueCrypt\ Rescue\ Disk.iso /boot/truecrypt-rescue-disk.iso
    
  3. Xác định UUID của phân vùng khởi động của bạn:

    sudo blkid /dev/sda2
    

    Đầu ra sẽ trông giống như thế này:

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

  4. Cấu hình GRUB2:

    Thêm vào như sau /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. Tải lại cấu hình GRUB2

    sudo update-grub
    

Lưu ý rằng điều này sẽ hiển thị cho bạn các tùy chọn Sửa chữa [F8] mỗi khi bạn khởi động vào Windows, vì chúng tôi đang đánh lừa hệ thống khởi động hình ảnh CD TrueCrypt Cứu hộ từ ổ cứng, thay vì phương thức khởi động TrueCrypt "bình thường". Nhưng nó có vẻ như là một nhược điểm nhỏ đối với tôi (và thậm chí có thể được coi là một tính năng bổ sung!)


+1 upvote cho những nỗ lực thành công của bạn, công việc tuyệt vời @Flimzy Tại một số điểm tôi muốn thử câu trả lời của bạn và báo cáo lại, và nếu tôi có thể lặp lại thành công của bạn, tôi muốn làm cho câu trả lời của bạn được chấp nhận (dù sao tôi cũng có thể làm điều này sớm hơn Tôi không có sẵn máy để thử nghiệm, tất cả chúng đều được sử dụng cho những thứ khác vào lúc này). Cảm ơn một lần nữa!
trị liệu

-1

Giải pháp: có lẽ sao chép bộ tải khởi động truecrypt vào tệp IMG để được khởi động bởi grub? hoặc có lẽ sử dụng Grub4Dos để tải Ubuntu?

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.