หากฉันคัดลอกไดรฟ์ USB ที่สามารถบู๊ตได้ไปยัง USB อื่นมันจะสร้างไดรฟ์ที่สามารถบู๊ตได้หรือไม่


37

ฉันคิดว่ามันเป็นคำถามที่โง่ แต่การค้นหาด้วย Google ดูเหมือนจะบ่งบอกว่ามันเป็นไปไม่ได้ที่จะคัดลอก / วางข้อมูลในไดรฟ์ที่สามารถบู๊ตได้ไปยัง USB อื่นหรือไม่? แต่ถึงแม้ว่าเราสามารถคัดลอกได้ทำไมมันไม่ทำงาน? (นั่นคือการสร้างไดรฟ์ที่สามารถบูตได้ซ้ำกัน)


2
"คัดลอก / วาง" หมายความว่าอย่างไร เห็นได้ชัดว่าคุณต้องคัดลอกชิ้นส่วนที่ทำให้เป็นไดรฟ์ที่สามารถบู๊ตได้ (เช่น bootloader เป็นต้น) แต่ก็ไม่มีเหตุผลใดที่มันจะไม่ทำงาน
Jörg W Mittag

คำตอบ:


56

เพียงคัดลอกไฟล์จะไม่ทำให้ไดรฟ์ที่สามารถบู๊ตได้ มันไม่เพียง แต่ไฟล์ในแฟลชไดรฟ์ซึ่งทำให้สามารถบูตได้ แต่ตารางพาร์ทิชันการกำหนดค่าที่เมตาดาต้าเกี่ยวกับองค์กรของเนื้อหาไดรฟ์ซึ่งบอกพีซีถ้ามันเป็นความสามารถบูตได้และไม่ว่าจะเป็นMBR หรือ GPT

ตามที่ระบุไว้ที่cyberciti.biz :

ดิสก์และพาร์ติชันแต่ละตัวมีสตริงลายเซ็นและเมทาดาทา / เวทสตริง ข้อมูลเมตาที่ใช้โดยระบบปฏิบัติการเพื่อกำหนดค่าดิสก์หรือเชื่อมต่อไดรเวอร์และดิสก์เชื่อมต่อในระบบของคุณ

อย่างไรก็ตามคุณสามารถโคลนแฟลชไดรฟ์ที่มีจำนวนของเครื่องมือเช่นDD , EASEUS Todo การสำรองข้อมูลและแหล่งที่ดีและเปิดClonezillaและรูฟัส (ขอบคุณAlexสำหรับคำเตือนเกี่ยวกับ dd และ Rufus)

มีแม้กระทั่งเป็นอุปกรณ์อิเล็กทรอนิกส์ที่ทำซ้ำโดยอัตโนมัติแฟลชไดรฟ์


15
ที่จริงแล้วคุณไม่จำเป็นต้องใช้dd: วิcpจะทำการทำงาน - เพียงให้แน่ใจว่าได้ใช้บนโหนดอุปกรณ์แทนเนื้อหาของระบบไฟล์
Ruslan

เอ่อนั่นน่าประหลาดใจ หรืออาจจะไม่ แต่สำหรับฉันอย่างน้อย
Jörg W Mittag

1
'cat <source> destination' จะใช้งานได้ดีเนื่องจากปลายทางไม่มี shoter จากแหล่งที่มา
ysdx

@JoL คุณไม่เห็นความคิดเห็น (ตอนนี้ถูกลบ) โดยJörg Mine ตอบกลับการยืนยันของเขาที่cpเพียงแค่คัดลอกโหนดอุปกรณ์ เพื่อป้องกันความสับสนตอนนี้ฉันได้ลบความคิดเห็นของฉันด้วย
Ruslan

21

การคัดลอกเฉพาะ copes กับไฟล์ในพาร์ติชันที่จัดรูปแบบแล้ว คุณจะไม่สามารถทำสิ่งพิเศษที่จำเป็นสำหรับกระบวนการบูตเช่นการตั้งค่าสถานะการบูตเขียนบูตโหลดเดอร์หรือบางครั้งแม้แต่การคัดลอกไฟล์ปกติไปยังตำแหน่งที่ถูกต้อง (อ่าน: เซกเตอร์) ในพาร์ติชันและตั้งค่าแอตทริบิวต์ของไฟล์ / สิทธิ์ เว้นแต่คุณจะโชคดีที่มีสิ่งต่าง ๆ เหล่านี้เนื่องจากการสร้างดิสก์สำหรับบูตก่อนหน้านี้เครื่องมือการจัดรูปแบบที่เขียนตัวโหลดการบูตไปยัง MBR เป็นต้นคุณจะต้องทำขั้นตอนเพิ่มเติมเพื่อให้สามารถบูตดิสก์ได้


เมื่อทำการบูทในโหมด BIOS ไบออสจะค้นหาเซกเตอร์แรก (MBR) เพื่อดูว่ามีลายเซ็นการบู๊ต 0xAA55 ที่ถูกต้องหรือไม่ ถ้าใช่มันจะโหลดเซกเตอร์นั้นและโอนการควบคุมไปยังบูตโหลดเดอร์ใน MBR MBR อธิบายการกำหนดค่าพาร์ติชันดังนั้นจึงไม่สามารถวางอยู่ภายในพาร์ติชันและไม่ใช่สิ่งที่คุณสามารถคัดลอกด้วยเครื่องมือปกติ

นอกจากนี้เนื่องจาก MBR มีขนาดเล็กเกินไปที่จะเป็นประโยชน์บูตโหลดเดอร์ที่ทันสมัยส่วนใหญ่จะแยกกระบวนการบู๊ตออกเป็นหลายขั้นตอนโดยที่รหัสบูตใน MBR จะโหลดขั้นตอนต่อไป ต่อไปภายในขั้นตอนเป็นอีกครั้งที่มักจะใส่ในภูมิภาคนอกพาร์ทิชัน บางคนอาจวางไว้ในEBRแต่ด้วงมักจะวางขั้นตอนที่สองในพื้นที่ว่างระหว่างพาร์ทิชันแรกและ MBR ที่เรียกว่าช่องว่าง post-MBR นั่นเป็นเหตุผลที่ว่าหากพาร์ทิชันไม่จัดแนวพาร์ติชันอย่างเหมาะสมไม่มีที่ว่างสำหรับด้วงที่จะใส่รหัสการบู๊ตทำให้เกิดข้อผิดพลาดในการฝัง

ตัวตักการบูตจำนวนมากเช่น LILO หรือตัวตักการบูตแบบเก่าของ Windows / DOS ก็มีข้อมูลรหัสแบบแข็งใน MBR เช่นตำแหน่งของระยะต่อไปหรือไฟล์ระบบ พวกเขาไม่ได้ทำงานโดยการอ่านข้อมูลพาร์ติชัน แต่อ่านเซกเตอร์รหัสยากแทนเนื่องจากจะใช้รหัสมากเกินไปในการแยกวิเคราะห์ระบบไฟล์ซึ่งยากมากที่จะบีบลงในพื้นที่เล็ก ๆ เช่น MBR หรือช่องว่าง post-MBR แม้แต่ด้วงก็รองรับการเข้ารหัสแบบหนักเช่นนั้น นั่นหมายความว่าไฟล์ระบบบางไฟล์จะต้องอยู่ในตำแหน่งที่แน่นอนแต่ละส่วนซึ่งคุณไม่สามารถทำได้ด้วยสำเนาปกติ นั่นคือเหตุผลที่คุณเห็น"ไฟล์ระบบที่ไม่สามารถเคลื่อนย้ายได้" ในขณะที่ใช้ตัวจัดเรียงข้อมูลบน Windows หรือลดขนาดระบบไฟล์ซึ่งบางครั้งก็ไม่ถูกต้องจริง ๆ เพราะเป็นเพียงว่า Windows กลัวที่จะย้ายไฟล์เหล่านั้นแม้ว่าตัวตักบูตที่ทันสมัยจะฉลาดกว่าและไม่สนใจสิ่งเหล่านั้น

และท้ายที่สุดคุณต้องตั้งค่าพาร์ติชันสำหรับเริ่มระบบเพื่อให้ตัวโหลดการบูตรู้ว่าต้องบูตอะไร ที่จะต้องทำโดยเครื่องมือแบ่งพาร์ทิชันหรือแก้ไข hex ด้วยตนเองเนื่องจากมันยังใส่นอกพื้นที่พาร์ทิชัน


ในสิ่งที่ UEFI ง่ายกว่ามาก มันรู้เกี่ยวกับระบบไฟล์ FAT (และมากยิ่งขึ้นระบบไฟล์ในการใช้งานที่ไม่ได้มาตรฐาน) ดังนั้นไฟล์บูตถูกเก็บไว้ในพาร์ทิชันระบบ EFI อาคา ESP UEFI โหลดแอปพลิเคชัน * .efi ใน ESP ซึ่งจะโหลดระบบปฏิบัติการ

เฟิร์มแวร์ UEFI รองรับการบูทจากอุปกรณ์เก็บข้อมูลแบบถอดได้เช่น USB แฟลชไดรฟ์ สำหรับจุดประสงค์นั้นอุปกรณ์ที่ถอดออกได้จะต้องจัดรูปแบบด้วยระบบไฟล์ FAT12, FAT16 หรือ FAT32 ในขณะที่บูตโหลดเดอร์จะต้องจัดเก็บตามลำดับชั้นของไฟล์ ESP มาตรฐานหรือจัดเตรียมเส้นทางที่สมบูรณ์ของบูตโหลดเดอร์ไปยังระบบ ตัวจัดการการบูต

ดังนั้นโดยทั่วไปคุณเพียงแค่คัดลอกไฟล์ * .efi ไปยัง ESP และวางไฟล์ระบบในโฟลเดอร์ที่ถูกต้อง อย่างไรก็ตามยังคงมีปัญหาเล็กน้อยเนื่องจากพาร์ติชัน FAT ที่มีไฟล์ * .efi จะต้องทำเครื่องหมายว่าเป็น ESP ในตาราง MBR หรือ GPTนอกพาร์ติชันซึ่งไม่สามารถทำได้โดยการคัดลอกเช่นด้านบน โดยเฉพาะอย่างยิ่งประเภทพาร์ติชันจะต้องเปลี่ยนจาก0Ch / 0Bh / อะไรก็ตามเป็น EFhใน MBR และC12A7328-F81F-11D2-BA4B-00A0C93EC93Bใน GPT เนื่องจาก ESP ไม่ใช่ FAT12 / 16/32 จริง ๆ แต่เป็นระบบไฟล์อิสระที่ขึ้นอยู่กับ กลุ่มระบบไฟล์ FAT


และยังมีรูปแบบการแบ่งพาร์ติชันอื่น ๆ อีกมากมายเช่นป้ายดิสก์ BSD หรือ APM ซึ่งจำเป็นต้องปรับเปลี่ยนให้แตกต่างกันในการบูต หรือแท่ง USB อาจถูกฟอร์แมตโดยไม่มีตารางพาร์ติชันเลย (AFAIK Windows ทำสิ่งนี้ตามค่าเริ่มต้น) ดังนั้นการทำให้มันสามารถบูตได้จะแตกต่างกัน แต่จะใช้ข้อ จำกัด เดียวกัน: คุณต้องแก้ไขพื้นที่ที่ไม่ได้แบ่งพาร์ติชัน


1
นี่คือคำตอบที่ถูกต้อง
Margaret Bloom

มันเป็นคำตอบที่ละเอียดที่สุดใช่ แต่ฉันไม่เชื่อว่ามันถูกต้องกว่าคำตอบที่ยอมรับซึ่ง IMO ตอบคำถามง่าย ๆ ในลักษณะที่เรียบง่าย
Ian Kemp

@IanKemp ปัญหากับคำตอบที่ได้รับการยอมรับไม่ได้ว่ามันเป็นเรื่องง่าย (ที่ดี) แต่ที่มันไม่ชัดเจนในทางเทคนิคที่ดีที่สุด :)
มาร์กาเร็บลูม

หากคุณทำเครื่องหมายวอลุ่มของแท่ง USB เป็นแอ็คทีฟ - โดยใช้ยูทิลิตี้ "diskpart" ของ windows cmd line หรือตัวจัดการพาร์ติชั่นของบุคคลที่สาม - โดยการคัดลอกเนื้อหาของอิมเมจ ISO vista / 7/8/10 ไม่มีสิ่ง ramdrive หรือการติดตั้งของคุณเกิดขึ้นเมื่อทำการบูท เห็นได้ชัดว่าหลังจากทำเครื่องหมายไม้ว่าใช้งานอยู่สิ่งที่คุณต้องมีก็คือไฟล์อิมเมจสำหรับบูตขนาดเล็ก (bootmgr และ bootmgr.efi บน windows ฉันเดา) ที่ก้าน; ไม่จำเป็นต้องใช้เครื่องมือที่ซับซ้อน ฉันคาดหวังว่าขั้นตอนบรรทัดคำสั่งอย่างง่ายบน Linux จะง่ายกว่า windows
Red.Wave

3

โดยปกติแล้วการบู๊ต BIOS จำเป็นต้องมีเครื่องหมายที่มองไม่เห็นเป็นพิเศษ นี่คือตัวอย่างบางส่วน :

  • ถ้า MBR- พาร์ติชัน ("ฮาร์ดดิสก์"), จากนั้นภายในตารางพาร์ติชัน
  • หากฟลอปปี้ / superfloppy ("ZIP ไดรฟ์") โดยทั่วไปแล้วไดรฟ์ทั้งหมดที่จัดรูปแบบโดยไม่มีตารางพาร์ติชันแล้วภายในไม่กี่ไบต์แรก
  • ถ้าซีดีแล้วEl Torito

ในกรณีดังกล่าวคุณไม่สามารถคัดลอกไฟล์ได้ ไดรฟ์ที่ได้จะไม่สามารถบูตได้เนื่องจากไม่มีเครื่องหมายพิเศษเหล่านั้น

อย่างไรก็ตามการบู๊ต UEFI นั้นพิเศษฉลาดกว่าและแก้ปัญหาเหล่านี้โดยเฉพาะ และเช่นเคยฉันขอแนะนำให้อ่านโพสต์บล็อกนี้เพื่อเรียนรู้เบื้องต้นเกี่ยวกับ UEFI จดบันทึกพิเศษของส่วนการบู๊ตสำรอง นี้จะหารือในรายละเอียดเล็กน้อยที่นี่

สิ่งที่คุณต้องใช้ในการทำงานคือไฟล์ในพา ธ เฉพาะในพาร์ติชันที่เฟิร์มแวร์จะค้นหา เพื่อความเข้ากันได้สูงสุด1ควรเป็นพาร์ติชันที่จัดรูปแบบ FAT32 ที่ทำเครื่องหมายเป็นพาร์ติชันระบบ EFI ในดิสก์ที่แบ่งพาร์ติชัน GPT อย่างไรก็ตามเฟิร์มแวร์ส่วนใหญ่จะค้นหาพาร์ติชั่น (เดี่ยว) บนพาร์ติชัน MBR และพาร์ติชั่นดิสก์ (superfloppy)

ซึ่งหมายความว่าสิ่งที่คุณต้องการสำหรับการบู๊ต UEFI คือพาร์ติชันเดี่ยวที่มีการจัดรูปแบบ FAT32 1ซึ่งมีรายการบูตทางเลือก บนสถาปัตยกรรม x86_64 หมายความว่าคุณเพียงแค่ต้องการ\EFI\BOOT\BOOTx64.EFIไฟล์ คุณสามารถคัดลอกจากแฟลชไดรฟ์หนึ่งไปยังอีกไฟล์หนึ่งรวมถึงไฟล์นั้นและทุกอย่างจะทำงานได้


1 FAT32 และ GPT เป็นมาตรฐานที่กำหนด MBR และ superfloppy นั้นไม่ได้เป็น AFAIK แต่การรองรับพวกมันนั้นค่อนข้างเป็นสากลในหมู่ฮาร์ดแวร์เดสก์ท็อป แล็ปท็อปเป็นความลับอีกเล็กน้อย แท็บเล็ตเป็นแบบ to-up และ Mac EFI มีเอกลักษณ์

2มาตรฐาน UEFI ต้องการการสนับสนุน FAT32 เฟิร์มแวร์บางตัวอาจรองรับ NTFS (แม้ว่าจะไม่รับประกัน) และคุณสามารถฝังไดรเวอร์ NTFS ใน FAT32 ESP ได้


0

ขึ้นอยู่กับสิ่งที่คุณหมายถึงโดย 'คัดลอก'

คัดลอกและวางใน GUI ของระบบปฏิบัติการของคุณ? ไม่ไม่สามารถใช้งานได้ - ไฟล์บางไฟล์ที่ความต้องการ USB ที่สามารถบู๊ตได้จะถูกพิจารณาว่า "ซ่อน" / ซ่อนตัวและไม่ได้คัดลอก

มีประเภทของการคัดลอกที่จะทำงานได้ สิ่งนี้มักเรียกว่า 'การถ่ายภาพ' USB ใหม่เพื่อแยกความแตกต่างจาก 'การคัดลอก' เนื้อหา วิธีที่พบได้บ่อยที่สุดคือเครื่องมือบรรทัดคำสั่ง แต่ตัวเลือกกราฟิกจะพร้อมใช้งานหากคุณต้องการ

นั่นน่าจะเพียงพอที่จะทำให้การค้นหาของคุณเป็นจริง!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.