Khởi động Windows 7 iso từ grub2


12

Tôi muốn làm điều đó bởi vì tôi muốn cài đặt Windows 7 và menu BIOS của tôi không xuất hiện; nó bỏ qua menu grub2 khi bắt đầu, nhưng đó là một câu chuyện khác ... Có cách nào để khởi động cài đặt Windows 7 iso trực tiếp từ grub2 không?


1
"Menu BIOS của tôi không xuất hiện" Nhưng bạn đã thử vào BIOS chưa?
Mitch

Nếu tôi định dạng ổ cứng thì sao? Cửa sổ sẽ khởi động sau đó? :)

Câu trả lời:


7

Khởi động Windows XP với grub4dos

Khởi động ISO thực tế bằng grub legacy hoặc grub2 sẽ không hoạt động, nhưng với các phiên bản Windows cũ hơn (ví dụ XP), có thể giải nén thư mục i386 từ ISO sang thanh USB, sau đó sử dụng grub4dos để gọi bộ tải khởi động:

title windows installer via setupldr.bin
find --set-root /i386/setupldr.bin
chainloader /i386/setupldr.bin

hoặc là

title windows installer via /bootsect.bin
find --set-root /i386/setupldr.bin
chainloader /bootsect.bin

Điều này có thể không hoạt động với các phiên bản Windows mới hơn hoặc với phần cứng mới hơn nhưng cũng có tùy chọn ..

Khởi động Windows 7 bằng grub2

Với grub2 rõ ràng một cái gì đó như thế này có thể hoạt động cho Windows 7 :

menuentry "Windows 7 (bootmgr)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    ### A: either use this line or the next one, but not both
    set root='(hd0,msdos1)' 
    ### B: 
    ### search --no-floppy --fs-uuid --set=root ____INSERT_PARTITION_UUID_HERE___
    ntldr ($root)/bootmgr
}

Tùy chọn A giả định thanh USB / ổ cứng có thể khởi động của bạn là thiết bị đầu tiên và có bảng phân vùng kiểu msdos. Điều chỉnh để phù hợp với cấu hình của bạn. Nếu thiết bị khởi động của bạn có bảng phân vùng GPT, thì rất có thể bạn sẽ cần sử dụng (hd0,gpt1)(nói chung GPT sẽ khó cài đặt hơn).

Tùy chọn B sử dụng UUID duy nhất của ổ đĩa, có thể thấy trên Linux với sudo blkidhoặc trên OSX với ví dụ diskutil info disk0s1(hoặc Disk Utility> Info).

Mục cuối cùng có thể tìm ví dụ như thế này:

menuentry "Windows 7 installer" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    insmod ntldr
    search --no-floppy --fs-uuid --set=root 0E239BC6-F960-3107-89CF-1C97F78BB46B
    ntldr /bootmgr
}

Đẹp. Tôi đã sử dụng --set = root --fs-uuid UUIDHERE (thay đổi thứ tự), mặc dù (không thể nói liệu nó có bắt buộc hay không). Cảm ơn
Jan Kyu Peblik

@JanKyuPeblik Bạn có thể khởi động từ ISO không?
Anwar

Đó là hồi ức của tôi, vâng. Tôi sẽ không quan tâm đến những thứ khác.
Jan Kyu Peblik

5

Vâng, bạn sẽ nghĩ một cái gì đó như thế này sẽ hoạt động:


menuentry "Boot Windoze" {
  search -f "--set-root /Winblows.iso"
  drivemap "/Winblows.iso" '(hd32)'
  drivemap '--hook' ''
  set root='(hd32)'
  chainloader +1
}

Nhưng Windows sẽ chùn bước ở đó.

Nếu bạn có ít nhất 4GB RAM, bạn có thể chọn tải toàn bộ iso DVD trong memdisk và khởi động nó. Để làm điều đó, tải xuống SysLinux và giải nén memdisktệp vào bootthư mục của bạn . Sau đó, bạn cần thêm mã vào Grub2 một cái gì đó như thế này


menuentry "Boot Windoze" {
  search -f "--set-root /Winblows.iso"
  insmod memdisk
  linux16 /boot/memdisk iso
  initrd16 /Winblows.iso
}

Tuy nhiên, tôi thậm chí sẽ không kiểm tra mã, vì việc đưa hơn 3 GB dữ liệu vào RAM hoàn toàn sai (theo quan điểm ý tưởng). Không, tôi thực sự muốn những gì bạn muốn, nhưng cuối cùng tôi đã cài đặt Windows trên một phân vùng trên USB bằng công cụ tải xuống USB / DVD của Windows 7 và được tải vào đó. Xin lỗi, dường như không có cách nào khác mà tôi có thể thấy.


Mã đầu tiên sẽ khởi động windows nhưng thất bại sau đó vì đôi khi windows không biết iso được gắn ở đâu
totti

Mã thứ hai có thể không hoạt động, vì nó sẽ không hoạt động với iso của Ubuntu
totti

OP đang đề cập cụ thể đến Windows 7. Bạn có thể kiểm tra điều đó không?
Không gian chiến tranh

Bạn có thể không thích Windows, nhưng đăng "Winblows" và "Windoze" ở đây khá là không chuyên nghiệp. -1.
0xC0000022L

1
Vì tôi không phải là một lập trình viên bootstrap chuyên nghiệp, tôi có thể sống với "không chuyên nghiệp". Tôi nghĩ rằng bạn có thể có nghĩa là "thiếu tôn trọng". Vâng, nhận xét đó là 6 năm trước. Tôi đã thay đổi rất nhiều kể từ đó (và Windows cũng vậy)
Warpspace

5

Kỹ thuật cài đặt từ .isotập tin của windows không thể. Bạn có thể khởi động từ .isogrub bằng cách sử dụng nhưng sau đó Windows sẽ mất liên lạc với vị trí được gắn hoặc nó không có khả năng. Vì vậy, cả grub& Windows nên biết về mount và boot. Hiện tại Windows không hỗ trợ.

Vì vậy, bạn cần trích xuất / sao chép nội dung .isovào thư mục gốc của phân vùng và sau đó tải chuỗi vào đó bằng cách sử dụng grub.


2
ý tưởng tốt để chia sẻ kiến ​​thức, nhưng bạn có thể thêm trực tiếp trả lời câu hỏi theo cách kỹ thuật. cụ thể là sử dụng lại văn bản hiện tại dưới dạng từ chối trách nhiệm nhưng sau đó bạn có thể mở rộng "bạn có thể khởi động từ .iso" thành menu hoặc một cái gì đó. bằng cách đó, bạn sẽ thực hiện chính xác (các) phương pháp mà bạn tưởng tượng để đạt được những gì được yêu cầu, mặc dù bạn biết rằng nó không hoạt động cho mục đích giả định. điều này cũng sẽ làm mất đi số lượng giải pháp mà bạn đã xem xét.
n611x007
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.