วิธีเลี่ยงผ่านหน้าจอ“ ลอง / ติดตั้ง” เมื่อทำการบูทจาก USB Live Session? (โดยไม่ต้องติดตั้งใน USB)


35

นี้ได้รับการถามหลายครั้งแล้ว (ผมพบว่ามันนี่ , ที่นี่และที่นี่ ) แต่โดยทั่วไปทุกคนเพียงแค่แนะนำให้ดำเนินการเต็มรูปแบบติดตั้งกับ USB ติด แต่ฉันต้องการให้มันอยู่ในช่วงการถ่ายทอดสดไม่ใช่ "การติดตั้งแบบเต็มบน USB" ด้วยเหตุผลหลายประการ (ที่สำคัญที่สุดคือการใช้เซสชันแบบสดฉันสามารถติดตั้ง Ubuntu ได้อย่างง่ายดายโดยใช้ไอคอนเดสก์ท็อป)

ดังนั้นข้อ จำกัด ของฉันสำหรับการข้ามหน้าจอต้อนรับ (และเลือกตัวเลือก "ลอง Ubuntu" โดยอัตโนมัติ) คือ:

  • จริง ๆ แล้วจะต้องเป็นเซสชัน Ubuntu Live (หรือใกล้เคียงกับค่าเริ่มต้นมากที่สุด) การเลือกซอฟต์แวร์เดียวกัน (gparted แสดงอยู่ในเซสชันสดไม่ใช่ gimp ตัวอย่าง) ผู้ใช้ (ชื่อและ ID) พฤติกรรม (ไม่มีหน้าจอเข้าสู่ระบบไม่มีรหัสผ่านสำหรับsudoตั้งชื่อไม่กี่คน) ไม่มี GRUB และอื่น ๆ การติดตั้ง Ubuntu แบบเต็มบน USB

  • มันจะต้องสามารถติดตั้ง Ubuntu ในคอมพิวเตอร์ (ในขณะที่การติดตั้งแบบเต็มต้องใช้ไฟล์ ISO, USB stick เพิ่มเติมและความยุ่งยากของ Startup Disk Creator)

  • หากเป็นไปได้ให้เร็วเท่ากับ "ตัวส่งข้อความ" (อันที่คุณมีเมื่อคุณกดปุ่มทันทีหลังจากโหลดเคอร์เนล)

  • มันจะต้องเป็นไปโดยอัตโนมัติอย่างสมบูรณ์ไม่ต้องใส่ข้อมูลจากการบูตไปยังเดสก์ท็อป

  • เลือกภาษาที่แตกต่างจากค่าเริ่มต้น มันอาจเป็นตัวเลือกแบบมีสาย (จริง ๆ แล้วมันจะต้องเนื่องจากการบูตตัวเองจะไม่ต้องใส่อย่างเต็มที่) แต่ควรมีการเปลี่ยนแปลงได้ง่ายกว่า ("ง่าย" เช่นเดียวกับในการแก้ไขไฟล์ config จากนั้นรีบูตเครื่อง)

มันเป็นไปได้?

โซลูชันที่ยอดเยี่ยมที่ฉันได้ตัดออกไปคือ:

  • การติดตั้ง Ubuntu ในก้าน USB (สำหรับเหตุผลทั้งหมดที่กล่าวถึงข้างต้น)

  • ลบUbiquityแพ็คเกจ(จะลบความสามารถในการติดตั้งระบบจาก USB นั้นได้เช่นกัน)

  • Ubuntu Customization Kit (ubk): ข้อ จำกัด และข้อควรระวังหลายประการและไม่ได้อยู่ใน repos

  • Remastersys / LiLi: เหมือนกับการติดตั้ง USB แบบเต็มโดยตรงเท่านั้นเอง

ทางออกที่ดีจะเป็นเช่น "สร้าง USB ป่วยโดยใช้ Startup Disk Creator จากนั้นเปิดและลบ / แก้ไข / เพิ่มไฟล์ xxx, yyy, zzz"


ฉันแทนที่รหัสบน USB ที่ฉันมีใน syslinux.cfg ด้วยสิ่งที่แนะนำ แต่ฉันยังคงได้รับพรอมต์ (บรรทัดดั้งเดิม: vesamenu.c32 พรอมต์ 0 หมดเวลา 50 ui gfxboot bootlogo) เป็นไปได้ไหมที่ฉันควรทำบางอย่างกับ txt.cfg (ด้านล่าง): ป้ายชื่อเมนูคงอยู่ ^ โหมดเคอร์เนล / casper / vmlinuz ต่อท้าย bootkbd = เรา console- setup / layoutcode = en_US console-setup / variantcode = nodeadkeys locale = us_us noprompt แบบถาวร cdrom-detect / try-usb = ไฟล์จริง = / cdrom / preseed / ubuntu.seed boot = casper initrd.lz splash - label live menu label ^ Live Mode kernel / casper / vmlinuz ผนวก
user142859

คำตอบ:


41

คู่มือนี้จัดทำขึ้นสำหรับ Ubuntu (Gnome) มันใช้งานได้กับ Kubuntu (KDE) ด้วยเช่นกันโดยมีข้อยกเว้นเล็กน้อย

ฉันสามารถบูต Live CD ได้โดยตรงในเซสชัน Live โดยไม่ต้องหมดเวลาหรือเมนูแฟนซีโดยเลือกติดตั้งชุดภาษา

Live USB (16.04)

  1. เชื่อมต่อ USB กับ Ubuntu ที่ติดตั้งไว้
  2. syslinux/syslinux.cfgการสำรองข้อมูลแฟ้ม เราจะแก้ไขมันดังนั้นเราจำเป็นต้องเปลี่ยนกลับหากมีสิ่งผิดปกติ
  3. เปิดไฟล์ต่อไปนี้ภายใต้ไดเรกทอรี syslinux: syslinux.cfgและ txt.cfg
  4. ลบ (หรือแสดงความคิดเห็น) syslinux.cfgทุกอย่างใน
  5. txt.cfgไฟล์มีรายการเมนูด้วงเริ่มต้น คัดลอกรายการสดไปที่syslinux.cfg:

    default live
    label live
    menu label ^Try Ubuntu without installing
    kernel /casper/vmlinuz.efi
    append file=/cdrom/preseed/ubuntu.seed boot=casper cdrom-detect/try-usb=true persistent noprompt floppy.allowed_drive_mask=0 ignore_uuid initrd=/casper/initrd.lz quiet splash --
    
  6. คุณสามารถเพิ่มพารามิเตอร์เคอร์เนลเฉพาะที่จำเป็นสำหรับอุปกรณ์ของคุณในบรรทัดผนวก

  7. บันทึก isolinux.cfg และบูตระบบของคุณโดยใช้ USB มันจะบู๊ตตรงเดสก์ท็อปทันที

USB สด (13.10)

  1. เชื่อมต่อ USB กับ Ubuntu ที่ติดตั้งไว้
  2. isolinux/isolinux.cfgการสำรองข้อมูลแฟ้ม เราจะแก้ไขมันดังนั้นเราจำเป็นต้องเปลี่ยนกลับหากมีสิ่งผิดปกติ
  3. เปิดไฟล์ต่อไปนี้ภายใต้ไดเรกทอรี isolinux: isolinux.cfgและ txt.cfg
  4. isolinux.cfgทุกอย่างในการลบ
  5. txt.cfgไฟล์มีรายการเมนูด้วงเริ่มต้น คัดลอกรายการสดไปที่isolinux.cfg:

    default live
    label live
    menu label ^Try Ubuntu without installing
    kernel /casper/vmlinuz.efi
    append file=/cdrom/preseed/ubuntu.seed boot=casper cdrom-detect/try-usb=true persistent noprompt floppy.allowed_drive_mask=0 ignore_uuid initrd=/casper/initrd.lz quiet splash --
    
  6. คุณสามารถเพิ่มพารามิเตอร์เคอร์เนลเฉพาะที่จำเป็นสำหรับอุปกรณ์ของคุณในบรรทัดผนวก

  7. บันทึก isolinux.cfg และบูตระบบของคุณโดยใช้ USB มันจะบู๊ตตรงเดสก์ท็อปทันที

[ แหล่งที่มา ]

Live USB (11.04)

  1. ไปที่โฟลเดอร์รูทของ Live USB ของคุณ
  2. ป้อนsyslinuxไดเรกทอรี
  3. ทำให้syslinux.cfgไฟล์เขียนได้
  4. แทนที่เนื้อหาของไฟล์syslinux.cfgด้วย:

    default live
    label live
      say Booting an Ubuntu Live session...
      kernel /casper/vmlinuz
      append  file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash noprompt --
    
  5. ทางเลือก: จำกัด ระบบ (ดูด้านล่าง)

ซีดีสด

  1. หากคุณมี Live CD ในไดรฟ์ซีดีของคุณให้ติดตั้ง มิฉะนั้นหากคุณมีไฟล์ ISO ให้เชื่อมต่อ/media/cdromโดยเรียกใช้คำสั่งถัดไปในเทอร์มินัล (แทนที่ชื่อ.isoไฟล์ตาม):

    sudo mount -o loop,ro ubuntu-11.04-desktop-amd64.iso /media/cdrom
    
  2. สร้างไดเรกทอรีชั่วคราวที่สามารถเก็บเนื้อหาซีดีพูด~/live-cd( mkdir ~/live-cd)
  3. คัดลอกเนื้อหาของซีดีไปยังโฟลเดอร์~/live-cd/iso( cp -r /media/cdrom ~/live-cd/iso)
  4. เนื่องจากไม่จำเป็นต้องใช้ Live CD อีกต่อไปจึงสามารถยกเลิกการต่อเชื่อมได้ ( sudo umount /media/cdrom)
  5. เปิด~/live-cd/isoโฟลเดอร์ ( cd ~/live-cd/iso)
  6. ใส่isolinuxไดเรกทอรี ( cd isolinux)
  7. ทำให้isolinux.cfgไฟล์เขียนได้ ( chmod u+w isolinux.cfg)
  8. แทนที่เนื้อหาของไฟล์isolinux.cfgด้วย:

    default live
    label live
      say Booting an Ubuntu Live session...
      kernel /casper/vmlinuz
      append  file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.lz quiet splash --
    
  9. ทางเลือก: จำกัด ระบบ (ดูด้านล่าง)
  10. เปิดเทอร์มินัลแล้วเรียกใช้:

    cd ~/live-cd
    chmod u+w iso/isolinux/isolinux.bin
    mkisofs -r -V "Ubuntu Live session" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ubuntu-11.04-live-amd64.iso iso
    
  11. ใหม่ ISO ~/live-cd/ubuntu-11.04-live-amd64.isoจะสามารถใช้ได้ที่ เพื่อประหยัดพื้นที่~/live-cd/isoไดเรกทอรีสามารถลบออกได้ ( rm -rf ~/live-cd/iso)
  12. ทีนี้เบิร์นubuntu-11.04-live-amd64.isoไฟล์บนซีดีถ้าจำเป็น

จำกัด วง Ubuntu (แปล)

หากคุณต้องการให้ระบบในภาษาอังกฤษ, สเปน, โปรตุเกส, โซซาหรือจีนแผ่นดินใหญ่ที่คุณได้เพียงเพื่อเพิ่มlocale=ตัวเลือกการบูตด้วยen, es, pt, xhหรือzhไปยังappendบรรทัดเช่น:

... quiet splash locale=pt --

มิฉะนั้นหากคุณไม่ต้องการแก้ไขไฟล์ที่มีระบบไฟล์รูท ( filesystem.squashfs) และไม่รังเกียจแฮ็คให้อ่านต่อไป

เปิดเทอร์มินัลแล้วไปที่~/live-cd/isoไดเรกทอรีและใส่รหัสจากhttp://pastebin.com/VTdt9WFZในไฟล์ (ตั้งชื่อinstall-locale) และเรียกใช้

สคริปต์นี้เมาท์filesystem.squashfs, locale-hackข้อมูลรุ่นดึงข้อมูลของชุดภาษาจากมันดาวน์โหลดแพคเกจและนำผู้ที่อยู่ในไดเรกทอรี จากนั้นสคริปต์จะถูกสร้างขึ้นเพื่อติดตั้งแพ็คเกจภาษาในเวลาบูต เพื่อให้ทำงานได้สคริปต์จะปรับเปลี่ยนsyslinux.cfgหรือisolinux.cfgไฟล์เพื่อใช้การเปลี่ยนแปลงเหล่านี้

คุณจะถูกถามถึงสถานที่เกิดเหตุให้ป้อนสิ่งที่ต้องการหรือnl deสคริปต์ไม่ฉลาดที่จะเข้าใจสิ่งที่ต้องการหรือDutch Germanหลังจากนั้นไฟล์สามารถลบได้

คำสั่งเทอร์มินัลที่ควรดำเนินการ:

cd ~/live-cd/iso
wget http://pastebin.com/raw.php?i=VTdt9WFZ -O install-locale
bash install-locale
rm install-locale

โปรดทราบว่าการเพิ่มชุดภาษาสามารถทำให้.isoไฟล์ที่สร้างมีขนาดใหญ่กว่า 700MB ซึ่งไม่พอดีกับซีดี อย่างไรก็ตามสำหรับเครื่องเสมือนก็เพียงพอแล้ว แฮ็คนี้มีผลข้างเคียงที่พลีมั ธ ไม่ทำงาน (เช่นคุณไม่ได้รับหน้าจอบูตแฟนซี) แต่อย่างน้อยระบบจะแปลเมื่อลงชื่อเข้าใช้มิฉะนั้นคุณจะต้องติดตั้งlanguage-pack-gnome-*ด้วยตนเอง

อ้างอิง


+1 สำหรับสิ่งนั้น! มันได้ผล! (ใช้วิธี Live USB) ฉันยังจะพิจารณาเพิ่มnoprompt cdrom-detect/try-usb=trueไปยังappendสายตั้งแต่ thats txt.cfgวิธีที่มันเป็นใน คุณรู้หรือไม่ว่าพารามิเตอร์เพิ่มเติมเหล่านี้ทำอะไร? นอกจากนี้ยังสามารถปรับปรุงโซลูชันเพื่อรวมภาษาได้หรือไม่
MestreLion

nopromptปิดระบบโดยไม่ต้องขอให้นำแผ่นซีดีออก ฉันได้เพิ่มเข้าไปในสาย Live USB เพราะมันไม่สมเหตุสมผลกับสื่อ USB ฉันไม่รู้ว่าcdrom-detect/try-usb=trueทำอะไร ชุดภาษาทั้งหมดไม่รวมอยู่ในค่าเริ่มต้นใน Live CD เนื่องจากขนาด หากต้องการตั้งค่าภาษาอื่น (เช่น NL) ให้ส่งlocale=nl_NLตัวเลือกในappendบรรทัด การดำเนินการนี้จะตั้งค่าภาษาแต่ไม่ใช่ภาษาสำหรับ Gnome เนื่องจากแพคเกจไม่พร้อมใช้งานใน Live CD
Lekensteyn

@MestreLion: อัปเดตด้วยแฮ็คสำหรับสภาพแวดล้อมที่แปลเป็นภาษาท้องถิ่น
Lekensteyn

@Lekensteyn: แพ็คเกจสามารถใช้งานได้ใน Live CD เพราะเมื่อคุณเลือกภาษาอื่น Ubuntu จะเริ่มเซสชันสดในภาษานั้น locale=pt_BRป่วยพยายามที่ข้อเสนอแนะของคุณเกี่ยวกับ บางทีนั่นคือทั้งหมดที่จำเป็น
MestreLion

@MestreLion: ไม่จริงฉันได้ทำการทดสอบกับทั้งสองlocale=nlและเมนูการเลือกภาษาที่ลอง / ติดตั้ง ในทั้งสองกรณีฉันได้รับเลย์เอาต์ภาษาอังกฤษแม้ว่าlocaleคำสั่งจะออกnl_NL.UTF-8มา
Lekensteyn

1

ข้างต้นใช้งานได้ดีเยี่ยมสำหรับทั้ง Startup Disk Creator และ UNetbootin ติดตั้ง หากคุณใช้แฟลชไดรฟแบบถาวรคุณจะต้องเพิ่มคำถาวรลงไปดังนี้:

default live
label live
  say Booting an Ubuntu Live session...
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/ubuntu.seed boot=casper persistent initrd=/casper/initrd.lz quiet splash noprompt --

สำหรับระบบ 64 บิตรหัสจะแตกต่างกันเล็กน้อย

default live
label live
  say Booting an Ubuntu Live session...
  kernel /casper/vmlinuz.efi
  append  file=/cdrom/preseed/ubuntu.seed boot=casper persistent initrd=/casper/initrd.lz quiet splash noprompt --

นี่แตกต่างจากคำตอบของ Lekensteyn หรือไม่รวมกับความคิดเห็นของเขาจาก 20 มิ.ย. 2011 เวลา 8:08 น.
MestreLion

ไม่แน่ใจฉันสามารถหาคำติชมของเขาจาก 20 มิ.ย. 54 เวลา 8:08 น. ได้ที่ไหน
CSCameron

มันเป็นความคิดเห็นที่สามจากคำตอบสุดท้ายของเขาด้านบน
MestreLion

คำตอบเดิมได้รับการแก้ไขตั้งแต่โพสต์ของฉันคำตอบดั้งเดิมของ Lekensteyn ไม่ได้กล่าวถึง "ถาวร" หรือ ".efi" ที่จำเป็นสำหรับ 64 บิต
CSCameron

1

ใน 14.04 และก่อนหน้านี้อาจใช้ Ubiquity พุ่งพรวดเพื่อเริ่มต้น /etc/init/ubiquity.confคุณสามารถปิดการใช้งานนี้โดยการปรับเปลี่ยน

1) หากคุณไม่ได้ใช้งาน Live install ให้ทำการติดตั้ง casper-rw ก่อน:

# Mount the usb_drive manually if nautilus has not done it for you
# Change sdb1 to the proper location of your usb drive, find it using sudo blkid
sudo mkdir /media/$USER/usb_drive
sudo mount /dev/sdb1 /media/$USER/usb_drive
# Create a mount point for the read-write file system and mount via loopback
sudo mkdir /media/$USER/casper-rw
sudo mount -o loop /media/$USER/usb_drive/casper_rw /media/$USER/casper-rw
cd /media/$USER/casper-rw

2) แก้ไขetc/init/ubiquity.confในการติดตั้งสดและแสดงความคิดเห็นบรรทัดต่อไปนี้:

#start on (starting gdm
#          or starting kdm
#          or starting xdm
#          or starting lxdm
#          or starting lightdm)

หากคุณกำลังทำมาสเตอร์ดิสก์ใหม่คุณสามารถแก้ไขมาสเตอร์ubiquity.confในระบบสควอชได้ ความแพร่หลายจะหมดไปเมื่อเริ่มต้นใหม่

3) ถอนติดตั้งไดรฟ์

sudo umount /media/$USER/*

0

เหตุผลใดที่คุณไม่ต้องการ remasterys? คุณสามารถติดตั้งระบบปฏิบัติการสร้าง iso ด้วย remastersys แยกไฟล์ squashfs และแทนที่หนึ่งในหุ้น iso (หรือโฟลเดอร์ usb premade)

ฉันทำสิ่งนี้บ่อยๆ


1
ใช้ remastersys ฉันจะจบลงด้วยการติดตั้งแบบเต็มไม่ใช่เซสชันสด อ่านข้อ จำกัด ที่ 1 ของฉัน: จริง ๆ แล้วต้องเป็นเซสชัน Ubuntu Live (หรือใกล้เคียงกับค่าเริ่มต้นมากที่สุด) การเลือกซอฟต์แวร์เดียวกัน (gparted มีอยู่ในเซสชันสดไม่ใช่ gimp ตัวอย่าง) ผู้ใช้ (ชื่อและ ID) พฤติกรรม (ไม่มีหน้าจอเข้าสู่ระบบไม่มีรหัสผ่านสำหรับ sudo เพื่อตั้งชื่อไม่กี่) ไม่มี GRUB เป็นต้น ติดตั้ง Ubuntu แบบเต็มบน USB
MestreLion
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.