จะใช้ Syslinux ในการติดตั้ง Ubuntu ได้อย่างไร


4

ฉันพยายามอย่างดีที่สุดเพื่อให้รายละเอียดคำถามของฉัน ถ้ามันหมดความอดทนของคุณไปที่วรรคสุดท้าย

ฉันดาวน์โหลด Ubuntu 13.04 จากเว็บไซต์อย่างเป็นทางการและแตกไฟล์ไปยังโฟลเดอร์ ubuntu\ บนอุปกรณ์ USB (ตัวอย่างเช่น Z) ดังนั้นตอนนี้ไฟล์ต่างๆ Z:\ubuntu\

ก่อนหน้านั้น, ฉันดาวน์โหลด Syslinux 5.10 (6.00 มีข้อบกพร่อง) และใช้มันเพื่อติดตั้งรหัสบูตไปยัง USB stick ด้วยคำสั่งนี้:

syslinux.exe --mbr --active - ไดเรกทอรี / boot / syslinux / - ติดตั้ง Z:

จากนั้นฉันคัดลอก chain.c32 และ libs ที่ต้องการ Z:\boot\syslinux และเพิ่มไปยัง syslinux.cfg (ส่วนที่ไม่สำคัญจะถูกละเว้น):

COM32 chain.c32

ผนวก isolinux = / ubuntu / isolinux / isolinux.cfg

Syslinux บูตเรียบร้อยแล้ว แต่ไม่สามารถบูต Ubuntu ได้กล่าวว่า

ข้อผิดพลาด: 'แผนที่' ตัวเลือกต้องใช้เซกเตอร์ '' แต่ฉันไม่รู้ว่ามันหมายถึงอะไร

จากนั้นฉันก็ลองโหลดการกำหนดค่า isolinux ของ Ubuntu โดยใช้:

config /ubuntu/isolinux/isolinux.cfg / ubuntu

แต่ได้รับข้อความแจ้งว่า:

กำลังโหลด gfxboot ... ล้มเหลว: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว

ฉันลองอีกครั้งด้วย:

config /ubuntu/isolinux/isolinux.cfg / ubuntu / isolinux /

และมันก็พูดว่า:

ไม่สามารถโหลดไฟล์ COM32 gfxboot.c32

แต่ฉันเห็น LABEL ด้วย [TAB] สำคัญ:

บูต:

สดการติดตั้งตรวจสอบ memtest HD mainmenu ช่วย

ดังนั้นฉันจึงลองบูท Ubuntu ผ่านทางบรรทัดคำสั่ง:

boot: live

และมันแสดงให้เห็นว่า:

การโหลด / casper / vmlinuz ล้มเหลว: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว

ฉันคิดว่า Syslinux รู้จัก Z:\ เป็นไดเรกทอรีราก /ไม่ใช่ Z:\ubuntu\ดังนั้นจึงไม่สามารถโหลด vmlinz ได้ ดังนั้นฉันย้ายไฟล์ไปที่ Z:\ และรีบูต แม้ว่า syslinux ยังไม่สามารถโหลด gfxboot ได้ แต่ฉันบูตเข้า Ubuntu ได้สำเร็จ

config /isolinux/isolinux.cfg / isolinux /

boot: live

ฉันไม่เข้าใจว่าทำไมมันไม่สามารถโหลด gfxboot.c32 เมื่ออ่าน isolinux กำหนดค่าอย่างถูกต้อง บางที syslinux ที่ฉันใช้และ isolinux Ubuntu ก็ใช้ไม่เหมือนกันและ bootcode และ gfxboot ไม่ เข้ากันได้

Syslinux Wiki ระบุว่า CONFIG สามารถรีสตาร์ทบูตเดอร์โดยใช้ไฟล์การตั้งค่าที่แตกต่างกันและตั้งค่าโฮมไดเร็กตอรี่ใหม่โดยใช้

กำหนดค่า /path/to/cfg/file/configfile.cfg / path / to / new / base / dir

ฉันทำตามคำแนะนำ แต่ยื่นเพื่อให้ Syslinux ตั้งค่า Z:\ubuntu\ เป็นไดเรกทอรีราก บางทีฉันอาจเข้าใจผิดคู่มือนี้

ดังนั้นคำถามของฉันคือการวาง Ubuntu หรือระบบปฏิบัติการอื่นในโฟลเดอร์แบบสแตนด์อโลนและกำหนดค่า syslinux อย่างถูกต้องเพื่อตั้งค่า direcotry โดยที่ Ubuntu หรือ OS อื่น ๆ เป็นไดเรกทอรีรากเพื่อให้ฉันสามารถบูตระบบได้สำเร็จหรือไม่


ฉันไม่มีประสบการณ์มากกับ syslinux แต่คุณได้พิจารณาดู ซุ้มวิกิ ? เอกสารส่วนใหญ่เกี่ยวข้องกับ distros อื่นเช่นกัน
Szymon Szydełko

อย่างไรก็ตามระบบไฟล์คืออะไร Z:? NTFS? ฉันสงสัยว่าเป็นเพราะ '\'
Szymon Szydełko

@ SzymonSzydełkoขอบคุณสำหรับการตอบกลับของคุณทันที Syslinux รองรับระบบไฟล์ FAT เท่านั้นดังนั้นระบบไฟล์ของ Z: คือ FAT (32) ฉันได้ดู Arch Wiki อย่างรวดเร็วดูเหมือนว่าไม่มีข้อมูลที่ฉันต้องการ
Noverull

@ SzymonSzydełko I suspect it is beacuse of '\'. คุณหมายถึงอะไร
Noverull

คุณต้องการวาง Ubuntu บนไดรฟ์ FAT-32 หรือไม่
Szymon Szydełko

คำตอบ:


1

ฉันไม่ทราบว่าสิ่งนี้เกี่ยวข้องกันอีกหรือไม่ แต่ฉันมีปัญหาเดียวกันและยังคงเล่นกับมัน ฉันประสบความสำเร็จซึ่งฉันต้องการแบ่งปัน

ก่อนอื่นเลยตั้งแต่ฉันพยายามบรรลุสิ่งเดียวกันฉันก็รู้ทันทีว่าเขาพยายามทำอะไร เขากำลังพยายามทำ usb มัลติบูตสำหรับการติดตั้ง distros Linux หลายตัว

ในการรวมระบบปฏิบัติการแต่ละตัวและทำให้การปรับปรุงง่ายขึ้นดังนั้นจึงเหมาะสมที่จะลองและโหลดตัวโหลดการบูตของแต่ละ distro ราวกับว่าอยู่คนเดียวบนระบบไฟล์ ดังนั้นเขาจึงพยายามที่จะทำการโหลดการติดตั้ง isolinux ของพวกเขา (ที่มาพร้อมกับ. iso) ฉันก็ลองสิ่งนี้เช่นกัน แต่ฉันยังไม่มีโชค

วิธีแก้ปัญหาเดียวที่ฉันพบ (ทดสอบเฉพาะกับ netboot iso) คือการใช้วิธีการโหลดการกำหนดค่าใหม่ (ในกรณีนี้ /path/to/distro/isolinux.cfg) โดยใช้คำสั่ง CONFIG เฉพาะในกรณีนี้ที่มีข้อผิดพลาดบางอย่างดังนั้นฉันจึงลองตั้งค่าลูก "menu.cfg" นั่นข้ามเมนูการบูตของ Ubuntu แต่โหลดตัวติดตั้ง Ubuntu ได้สำเร็จ

โปรดจำไว้ว่าคุณต้องระบุบ้านใหม่ทั้งในบรรทัด CONFIG หรือใช้การต่อท้าย

สุดท้ายมีความคิดเห็นเกี่ยวกับคำถาม เมื่อพูดถึง PATH (Z :) นั้นไม่เกี่ยวข้องกับที่นี่เนื่องจากเมื่อคุณทำงานจริงจากแท่ง USB คุณไม่ได้ใช้ Windows และใช้กฎ UNIX ดังนั้นให้ป้อนเส้นทางด้วยวิธี UNIX / xxx / zzz ตัวอย่างเช่น "ฉันคิดว่า Syslinux รู้จัก Z: \ เป็นไดเรกทอรีราก /" ไม่มีเหตุผลเนื่องจาก / = root ใน Windows (อักษรชื่อไดรฟ์ +) \ (\ = root)

เนื่องจากคุณมีเป้าหมายและปัญหาเช่นเดียวกับตัวฉันเองฉันจะแบ่งปันความคืบหน้าใด ๆ ที่ฉันมีในอนาคต

แก้ไข: นี่คือคำตอบที่ส่วนใหญ่อาจจะแก้ปัญหาทุกอย่าง

ความจริงง่ายๆที่คุณต้องจำไว้ก็คือไฟล์ COM32 นั้นไม่เข้ากันระหว่าง SYSLINUX / ISOLINUX เวอร์ชันต่างๆ SYSLINUX & amp; ISOLINUX นั้นเข้ากันได้กับแต่ละคน

บน Ubuntu Netboot.iso มีการใช้ไฟล์ COM32 เพียงไฟล์เดียว vesamenu.c32 ฉันเพียงแค่แทนที่มันด้วยอันที่หนึ่งจากการติดตั้ง syslinux หลักของฉันบน usb (/boot/syslinux/vesamenu.c32)

จากนั้นเพียงชี้เมนูการบู๊ตของคุณไปยังไฟล์ที่จะเริ่มการติดตั้งระบบปฏิบัติการ ใช้ CONFIG สำหรับ & amp; มันจะทำงานได้อย่างน่าอัศจรรย์ ไม่มี "ไม่สามารถโหลด vesamenu.c32" ได้อีก


สวัสดีขอบคุณสำหรับการแบ่งปัน ฉันใส่ไฟล์ Ubuntu 14.04 ลงใน Z: \ ubuntu \ และลองใช้ CONFIG /ubuntu/isolinux/isolinux.cfg / ubuntu / isolinux / เพื่อกำหนดค่าและบู๊ต Ubuntu โดยพิมพ์ live แต่ไม่พบ /casper/vmlinuz.efi ที่บอก ไม่มีปัญหาเมื่อไฟล์อยู่ใน Z: \ ฉันไม่พบวิธีการทำเช่นนี้ (ใส่ไฟล์ลงใน Z: \ ubuntu \ และบูต Ubuntu สำเร็จ) โดยไม่ต้องแก้ไข ubuntu / isolinux / txt.cfg ขอรายละเอียดเกี่ยวกับสถานการณ์ของคุณได้ไหม ฉันไม่เข้าใจว่าทำไมมี ubuntu / in / boot /
Noverull

-1

ตกลงหลังจากรวบรวมข้อเท็จจริงและคำถามการอ่านซ้ำและการสนทนาของเรา: คุณไม่สามารถติดตั้งระบบปฏิบัติการเป็น "โฟลเดอร์" (นั่นคือคุณไม่สามารถติดตั้ง Linux ไปยังโฟลเดอร์เช่น /ubuntu/, you need to install it to / folder). Linuxes want a full featured partition: they need to put / usr , / var` บนรูทของสิ่งที่พวกเขาเห็นว่าเป็นระบบไฟล์ (chrooting กัน)

นอกจากนี้ Linux ไม่สามารถติดตั้งบน FAT-32 ได้ ระบบไฟล์นี้ไม่มี symlinks และสิ่งอำนวยความสะดวกอื่น ๆ ซึ่งเป็นข้อเท็จจริงของการทำงานของ Linux

คุณต้องมี ext3 / 4, xfs หรือระบบไฟล์จริงอื่น ๆ ที่รองรับ อย่างไรก็ตามคุณสามารถติดตั้ง Ubuntu บน usb ได้เช่นเดียวกับ hdd ปกติ - เพียงแค่ติดตั้ง: พาร์ติชัน fat32 หรือ ext2 สำหรับการบูต {manager, ตัวโหลด} และเคอร์เนลอิมเมจ คุณจะสามารถ apt-get โปรแกรมใน, บันทึกเอกสารและ whatnot


ขออภัยสำหรับการแสดงที่ไม่ดีของฉัน (และสำหรับภาษาอังกฤษที่ไม่ดีของฉัน) ใช่ฉันตั้งใจจะติดตั้ง Linux Ditro บนแท่ง USB ของฉันและถ้าฉันต้องทำฉันจะต้องทำตามบทช่วยสอนของคุณ แต่นั่นเป็นแผนต่อไปของฉัน Canonical จัดทำอิมเมจ ISO สำหรับผู้ใช้เพื่อเบิร์นแผ่นซีดีซึ่งสามารถติดตั้ง Ubuntu ได้ ฉันเรียกภาพ ISO installation. ฉันต้องการติดตั้ง Ubuntu แต่ฉันไม่ต้องการเขียนลงในซีดี และ Syslinux ให้ฉันใส่การติดตั้ง Ubuntu กับ USB Stick แล้วบูต และฉันไม่ต้องการให้ USB Stick ใช้งานไม่ได้ และฉันต้องการติดตั้ง Ubuntu ลงในโฟลเดอร์ และตอนนี้ฉันมีปัญหา
Noverull

คุณต้องการที่จะมีทั้งตัวติดตั้ง Ubuntu และการติดตั้งที่แท่งเดียวกันใช่ไหม? ถ้าเป็นเช่นนั้นลองทำดังนี้: ทำพาร์ติชันสามส่วนบนดิสก์: 1. ext2 และใช้เป็น /boot/ จาก ... 2. ext4 ซึ่งติดตั้ง Ubuntu ปกติ / ลินุกซ์ตัวเลือกอื่น ๆ 3. ที่นี่ dd การติดตั้ง .iso และตรวจสอบให้แน่ใจว่ามันถูก chainloaded จากพาร์ทิชันที่ 1 ค่อนข้างแฮ็ก แต่ที่ดีที่สุดที่ฉันสามารถประดิษฐ์
Szymon Szydełko

ขออภัยสำหรับการแสดงที่ไม่ดีของฉันอีกครั้ง ฉันหมายถึงตัวติดตั้งที่นี่ เป็นการดีกว่าที่จะเก็บพาร์ติชันหนึ่งไว้สำหรับ Windows ไม่สามารถจำแนกได้มากกว่าหนึ่งพาร์ติชัน และฉันต้องการติดตั้ง Ubuntu ลงในโฟลเดอร์ คุณอาจสงสัยว่าทำไมฉันต้องใส่ไฟล์ทั้งหมดไว้ในโฟลเดอร์เดียว นั่นเป็นเพราะถ้าฉันทำฉันก็สามารถทำสิ่งเดียวกันกับตัวติดตั้งระบบปฏิบัติการอื่น เพียงแค่ใส่ตัวติดตั้งที่แตกต่างกันในโฟลเดอร์ต่างๆ จากนั้นฉันสามารถเลือกได้ว่าจะบูตอันไหนเมื่อเสียบปลั๊ก USB และเพิ่มและลบได้ง่าย ฉันจำได้ว่าเคยทำสิ่งนี้มาก่อน
Noverull
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.