สิ่งที่สร้างความรำคาญในการสร้างไดรฟ์ USB Windows 7 ที่สามารถบู๊ตได้จาก linux ด้วย ms-sys หรือ dd คืออะไร


9

ฉันอ่านเว็บเพจและโพสต์ (ที่นี่และในฟอรั่มอื่น ๆ ) เกี่ยวกับวิธีสร้างสื่อ USB สำหรับติดตั้ง Windows 7 จาก linux (เพื่อติดตั้ง Windows 7)

ฉันถามใน TechNet เกี่ยวกับเรื่องนี้และฉันได้รับการตอบกลับด้วยข้อมูลทั่วไปเกี่ยวกับวิธีการ:

"โดยส่วนตัวแล้วฉันไม่คุ้นเคยกับลินุกซ์มากนัก แต่เป็นเรื่องพื้นฐานที่คุณต้องทำ ... ไม่ว่าคุณจะทำอะไรก็ตามมันคือ:

  1. ฟอร์แมตแฟลชไดรฟ์ usb ทั้ง fat32 หรือ ntfs สร้างพาร์ติชันที่มีขนาดใหญ่พอที่จะโฮสต์การติดตั้ง windows (ให้หรือใช้ 3GB สำหรับ 64 บิต, aroudn 2.5gb สำหรับ 32 บิต) และทำเครื่องหมายพาร์ติชันนั้นว่าสามารถใช้งาน / บูตได้ เนื่องจากสิ่งนี้สามารถทำได้กับ windows แต่เช่นเดียวกับเครื่องมือเช่น gparted คุณควรจะสามารถทำเช่นเดียวกันในเดเบียน

  2. เมื่อคุณสร้างพาร์ติชันนั้นแล้วให้เมานท์ iso ที่คุณดาวน์โหลดและคัดลอกไฟล์ทั้งหมดที่เริ่มต้นจากรูทไปยังรูทของ usb flash drive

นั่นคือทั้งหมดที่มีไป "

ฉันพบวิธีอื่นในสถานที่ต่าง ๆ ซึ่งเกือบจะเหมือนกับที่กล่าวไว้ใน TechNet อย่างไรก็ตามดูเหมือนว่าจะมีขั้นตอนที่ขาดหายไปในวิธีนี้และ / หรือขั้นตอนที่ฉันไม่แน่ใจว่าจำเป็น

ddไม่ได้ผลเสมอไป โดยทั่วไปขั้นตอนที่ขาดหายไปคือการเขียนบูตเซกเตอร์ที่เหมาะสมในการติด USB ms-sysซึ่งสามารถทำได้จากลินุกซ์ด้วย Windows 7นี้ทำงานร่วมกับรุ่นที่วางจำหน่าย

นี่คือบทสรุปที่สมบูรณ์ดูคำถามข้อผิดพลาดของเซิร์ฟเวอร์สำหรับรายละเอียดเพิ่มเติม:

  1. ติดตั้งMS-SYS
  2. ตรวจสอบว่าอุปกรณ์สื่อ USB ของคุณจะได้รับมอบหมาย ( fdisk -l) /dev/sdbที่นี่เราจะถือว่าเป็น
  3. ลบพาร์ติชันทั้งหมดสร้างพาร์ติชันใหม่ที่ใช้พื้นที่ทั้งหมดตั้งค่าชนิดเป็น NTFS และตั้งค่าให้สามารถบู๊ตได้:

    cfdisk /dev/sdb

  4. สร้างระบบไฟล์ NTFS:

    mkfs.ntfs -f /dev/sdb1

  5. เมานท์สื่อ iso และ usb:

    mount -o loop win7.iso /mnt/iso
    mount /dev/sdb1 /mnt/usb

  6. คัดลอกไฟล์ทั้งหมด:

    # cp -r /mnt/iso/* /mnt/usb/

  7. เขียน Windows 7 MBR บน usb stick:

    # ms-sys -7 /dev/sdb

  8. ตรวจสอบให้แน่ใจว่าการเขียนถูกฟลัช (ต้องอดทนใช้เวลาสักครู่):

    # sync

  9. เปิด gparted เลือกไดรฟ์ USB คลิกขวาบนระบบไฟล์จากนั้นคลิกที่ "Manage Flags" ทำเครื่องหมายที่ช่อง 'บู๊ต' จากนั้นปิด

... และคุณทำเสร็จแล้ว

คำถาม

  • USB ไม่ควรทำงานโดยไม่ทำตามขั้นตอนสุดท้าย# ms-sys -7 /dev/sdbใช่ไหม หรือว่าจะทำให้ยูเอสบีสามารถบู๊ตได้? การทำเครื่องหมายพาร์ติชันเป็นการบูทได้หรือไม่

  • มันจะไม่ดีกว่าใช้ rsync แทนcp -r?

  • ทำตามขั้นตอนทั้งหมดนี้rootไหม ถ้าไม่ฉันต้องใช้chmodไฟล์ทั้งหมด664และchownทุกไดเรกทอรีที่ใช้เชื่อมต่ออุปกรณ์ USB และอิมเมจ ISO หรือไม่ ฉันคิดว่ามันง่ายกว่าที่จะคัดลอกข้อมูลrootและจะไม่ส่งผลกระทบต่อข้อมูล

  • มีใครลองวิธีนี้หรือคล้ายกันเช่นการคัดลอก iso ด้วยddหรือไม่


ฉันใช้ dd กับ iso แม้ว่าจะไม่ใช่ windows 7 คุณสามารถตรวจสอบดูว่ามันใช้งานได้หรือไม่: superuser.com/questions/591234/…
xsdf

คำตอบ:


1

ms-sysคำสั่งเป็นสิ่งสำคัญ ด้วย-7ตัวเลือกมันจะสร้างเซกเตอร์สำหรับบูตที่ใช้งานร่วมกับ Windows 7บนแฟลชไดรฟ์ของคุณ

คุณไม่สามารถใช้ dd ได้เนื่องจาก ISO ใช้ระบบไฟล์ ISO เช่นUDFหรือISO9660ซึ่ง USB ไดรฟ์ของคุณสนับสนุนระบบไฟล์ดิสก์เช่นext3, FAT32 หรือ NTFSอย่างถูกต้องเท่านั้น

จะใช้ rsync แทน cp -r ดีกว่าไหม

ไม่ได้จริงๆ cp -rทำงานได้ดีอย่างสมบูรณ์แบบ เพิ่งรู้ว่า NTFS จัดการสิทธิ์แตกต่างจาก Linux ดังนั้นการใช้ rsync เพื่อให้ทุกอย่างไม่เสียหาย สิ่งที่สำคัญจริงๆก็คือไฟล์จาก ISO นั้นอยู่บน USBและรูปแบบการบู๊ตนั้นถูกใช้งานอย่างถูกต้องms-sys -7

คุณสามารถทำตามขั้นตอนทั้งหมดในฐานะรูทหากคุณต้องการ เพียง 2 ขั้นตอนที่จำเป็นต้องใช้จริงๆรากmkfsและ 2 mount's

หากคุณได้รับปัญหาการอนุญาตแม้ในขณะที่รูทคุณอาจจำเป็นต้องต่อ USB ของคุณโดยใช้ntfs-3g /dev/sdb1เนื่องจาก Linux ดิสทริบิวชันบางตัวจะจัดหาไดรเวอร์แบบอ่านอย่างเดียวสำหรับ NTFS เท่านั้น


1

ฉันได้ลองกับ dd (dd if = / file / win7.iso of = / dev / sdb) และมันไม่ทำงาน

ขั้นตอนของฉันที่จะทำให้มันใช้ได้:

  • ติดตั้ง ms-sys
  • gparted เพื่อสร้างพาร์ติชันและสร้างระบบไฟล์ NTFS

หลังจากนั้นให้ใช้คำสั่งเหล่านี้:

# mount -o loop win7.iso /mnt/iso 
# mount /dev/sdb1 /mnt/usb
# cp -r /mnt/iso/* /mnt/usb/*
# ms-sys -7 /dev/sdb*
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.