วิธีการลองใช้ระบบปฏิบัติการรุ่นใหม่โดยไม่ต้องทำอะไร?


20

ฉันต้องการลองใช้ระบบปฏิบัติการรุ่นใหม่เมื่อมาถึงเช่น Ubuntu 17.04 หรือ Ubuntu 17.10 เพื่อดูคุณสมบัติใหม่ ฉันชอบดู Kubuntu, CentOS หรือ distros อื่น ๆ (Windows 11 เมื่อมันมาถึง?) - หรือตั้งค่าสภาพแวดล้อมการทดสอบโดยรู้ว่าฉันอาจทิ้งพวกเขาและไม่ต้องการทำสิ่งนี้กับเครื่องหลักของฉัน

มีทางเลือกอะไรบ้างในการทำเช่นนี้โดยไม่ต้องเสี่ยงกับกลไกการพัฒนาหลักของฉัน ฉันไม่ได้กำลังมองหาการถกเถียงในวิธีที่ดีที่สุด แต่มีทางเลือกใดบ้าง


2
ฉันส่วนใหญ่ทำอย่างนั้นกับเครื่องเสมือน ดูคำถามนี้สำหรับคำแนะนำเกี่ยวกับการตั้งค่าอย่างรวดเร็วและง่ายดายอย่างไม่น่าเชื่อโดยใช้ VirtualBox ที่คุณอาจต้องการลิงก์ไปยังคำตอบของคุณ
Takkat

1
ส่วนตัวผมใช้dockerเพราะที่เก็บของคุณถูกกำหนดด้วยสคริปต์ที่เข้าใจง่าย คุณสามารถควบคุมภาพฐานและสิ่งที่คุณติดตั้งได้อย่างสมบูรณ์ ง่ายต่อการแชร์ไฟล์โฮสต์และอุปกรณ์สร้างเครือข่ายเสมือนจริงของคอนเทนเนอร์เลือกพอร์ตที่มีอาร์กิวเมนต์บรรทัดคำสั่งคุณสามารถส่งคำสั่งโดยตรงไปยังเชลล์คอนเทนเนอร์และเรียกใช้แอปพลิเคชันภายในบริบทคอนเทนเนอร์ ตัวอย่างเช่นคุณสามารถลองใช้ผู้ใช้ centos กับหนึ่งซับ docker run -it centos /bin/bash
crasic

8
"Live CD" เคยเป็นเรื่องใหญ่ ทุกวันนี้มันจะเป็นไดรฟ์ USB สด
user253751

1
ด้วยรูปแบบการอัพเดทของ Windows 10 มันไม่น่าเป็นไปได้ที่จะมี "Windows 11" แม้ว่าจะมีการสร้างระบบปฏิบัติการใหม่ แต่ Microsoft ก็น่าจะเรียกมันว่าอย่างอื่น
หยุดทำร้ายโมนิก้า

3
โดยทั่วไปคุณมีสามตัวเลือก: เครื่องเสมือน (VirtualBox หรือ Docker), แฟลชไดรฟ์ที่สามารถบูตได้ (ทางเลือกที่ทันสมัยในการใช้ซีดีสด) หรือบูตคู่ การเลือกระหว่างทั้งสามนั้นขึ้นอยู่กับความต้องการฮาร์ดแวร์และประสบการณ์ของคุณ
Sean the Bean

คำตอบ:


26

ทางเลือก USB

ทางเลือก USB เป็นสิ่งที่ดีเมื่อ

  • คุณต้องการทดสอบประสิทธิภาพ (บนโลหะเปลือย)
  • คอมพิวเตอร์ไม่ทรงพลังพอที่จะใช้งานระบบในเครื่องเสมือนได้

คุณสามารถใช้ pendrive USB ที่มีพื้นที่ไดรฟ์อย่างน้อย 2GB และสร้าง

  • ระบบ Ubuntu สดใน pendrive

    บูตจาก pendrive USB และเลือก 'ลอง Ubuntu' ในเมนูบู๊ต (และบางอย่างที่คล้ายคลึงกับลินุกซ์ distros อื่น ๆ ) หากคุณบันทึกข้อมูลติดตั้งโปรแกรมหรือปรับแต่งระบบในไดรฟ์สด (สดเท่านั้น) จะไม่สามารถปิดหรือรีบูตได้


ถ้าคุณต้องการ

  • ลองใช้ Ubuntu ในวิธีขั้นสูงหรือ
  • บันทึกข้อมูลติดตั้งโปรแกรมหรือปรับแต่งระบบและ
  • คุณมี / รับ pendrive USB ที่รวดเร็วอย่างน้อย 4 GB

คุณสามารถสร้าง

  • ระบบ Ubuntu สดแบบถาวร

หรือถ้าคุณมี / รับUSB pendrive ที่เร็วอย่างน้อย 16 GBคุณสามารถสร้างได้

  • ติดตั้งระบบ Ubuntu (เช่นติดตั้งในไดรฟ์ภายใน แต่ใน USB pendrive)

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

การเชื่อมโยง



2
เนื่องจากโปสเตอร์มีการติดตั้ง Ubuntu (?) การบูต ISO โดยตรงจากฮาร์ดดิสก์จึงเป็นไปได้เช่นกัน ตั้งค่าลิงก์ไปที่ (ใหม่) ISO ใช้ลิงค์ในด้วง (เพิ่มใน /etc/grub.d/40_custom) ของคุณและมีพาร์ติชัน FAT พร้อมไดเรกทอรีสำหรับไฟล์ casper-rw (PERSISTENCE_PATH เพื่อระบุว่าจะใช้อันไหน ) เพิ่ม "toram" และประสิทธิภาพการบูต ISO นั้นเทียบเท่า (หรือเร็วกว่า) กว่าการติดตั้งฮาร์ดดิสก์ปกติ
ubfan1

2
ใช่ทางเลือกของ @ ubfan1 ดีมากฉันใช้มันหลายครั้ง บางทีอาจจะซับซ้อนกว่าการตั้งค่าเล็กน้อยเพื่อสร้าง pendrive USB แต่เมื่อคุณมีมันก็สามารถทำงานได้ดี :-) ดูลิงค์นี้help.ubuntu.com/community/Grub2/ …
sudodus

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

นี่คือคำตอบที่ถูกต้องอย่างแน่นอน การพยายามทดสอบระบบปฏิบัติการผ่านเลเยอร์เวอร์ชวลไลเซชัน (หรือนักเทียบท่า, God Forbid) บนระบบปฏิบัติการปัจจุบันของคุณก็เหมือนกับการใช้รถใหม่สำหรับ "ทดลองขับ" โดยการลากมันลงบนรถพ่วงหลังรถคันปัจจุบันของคุณ: แน่นอนว่าคุณจะได้เห็น สิ่งที่ดูเหมือนว่า แต่มันจะไม่ทำให้คุณมีความคิดเกี่ยวกับประสิทธิภาพ
AC

ด้วย USB3 นี่อาจจะใช้ได้ หากคุณมีเครื่องรุ่นเก่าที่ใช้ USB2 อาจต้องใช้เวลาโหลดนานกว่าอย่างเห็นได้ชัด
Sean the Bean

15

วิธีหนึ่งในการทดสอบ distros และระบบปฏิบัติการเวอร์ชันใหม่คือการจำลองเสมือน ไม่ต้องใช้พื้นที่สำหรับพีซี / แป้นพิมพ์ / วิดีโอ / เมาส์หรืออะแดปเตอร์เพิ่มเติมเพื่อเรียกใช้พีซีหลายเครื่องด้วยคีย์บอร์ดวิดีโอเมาส์ มันต้องการเพียงพีซีเดียวและซอฟต์แวร์การจำลองเสมือนบางอย่าง

สมมติว่าคุณมีเครื่องที่มี CPU แบบมัลติคอร์ที่มีความสามารถในการจำลองเสมือนและหน่วยความจำในปริมาณที่เหมาะสม ฉันจะแนะนำอย่างน้อย 8GB หน่วยความจำที่มี 16GB ดีกว่าถ้าคุณมี

หากคุณใช้งาน Ubuntu และต้องการลองใช้ Linux distros เท่านั้น (ฉันไม่เชื่อว่า Windows จะใช้งานได้) คุณสามารถใช้ซอฟต์แวร์การจำลองเสมือนฟรีที่บรรจุใน Ubuntu: KVM หรือ Xen ทั้งทำงานได้ดีไม่มีค่าใช้จ่ายและสามารถใช้งาน Linux distros ต่างๆ อย่างไรก็ตามเครื่องมือในการจัดการ VMs ค่อนข้างขาด ออราเคิลมีเครื่องมือเวอร์ชวลไลเซชั่นเวอร์ชั่นฟรีที่เรียกว่า VirtualBox และแน่นอนว่าผลิตภัณฑ์ VMWare เชิงพาณิชย์มักจะมี ทั้ง VirtualBox และ VMWare ยังสามารถเรียกใช้ Ubuntu ที่ด้านบนของเครื่อง Windows หากนั่นคือเดสก์ท็อปที่คุณเลือก

ด้วยการใช้ผู้จัดการ VM คุณจะสามารถเพิ่ม distros ใหม่เมื่อพวกเขาออกมาทดสอบเล่นกับคุณสมบัติใหม่แล้วละทิ้งพวกเขาเมื่อมีรุ่นใหม่ปรากฏขึ้น พวกเขากินเนื้อที่ว่างในดิสก์เมื่อไม่ได้ทำงานเท่านั้นดังนั้นพวกเขาจึงไม่จำเป็นต้องถูกทอดทิ้งเว้นแต่ว่าจะแน่น ด้วยผู้จัดการ VM ทำให้ง่ายต่อการรักษาสมดุล 5, 10 หรือมากกว่า distros บนเครื่องและสามารถบูตขึ้นมาและนำลงได้ตามต้องการ หากคุณโชคดีพอที่มีเครื่องขนาด 32GB หรือ 64GB คุณสามารถเรียกใช้มันแบบขนานทั้งหมดได้


2
Windows สามารถเรียกใช้ภายใน VM; อย่างไรก็ตามรุ่นที่ใหม่กว่านั้นหนักมากจนคุณต้องใช้มัลติคอร์ที่ค่อนข้างเร็วเพื่อให้สามารถใช้งานได้
ravery

สภาพแวดล้อมเสมือนนั้นยังขึ้นอยู่กับการรองรับระบบปฏิบัติการนั้นด้วย Windows รุ่นใหม่จะต้องมีการปรับเปลี่ยนซอฟต์แวร์เครื่องเสมือนเพื่อรองรับเพื่อให้อาจเป็นความพ่ายแพ้เล็กน้อย แม้ว่าฉันจะคาดหวังให้พวกเขาเตรียมพร้อมสำหรับการเปิดตัวใหม่ ;-)
Rinzwind

ใช่ - สำหรับการทดสอบเราจำเป็นต้องอัพเกรดโซลูชั่นเวอร์ช่วลไลเซชั่นเป็นรุ่นล่าสุดเพื่อให้สามารถบูตระบบปฏิบัติการรุ่นล่าสุดได้
Takkat

2
KVM รัน Windows 10 และ 7 ได้ดี ถ้าโดย Xen คุณกำลังอ้างถึง Citrics Xen Server นั่นก็ยังใช้ windows 10 & 7 เช่นกัน
Robby1212

1
@EricDuminil พวกเขาใช้งานได้ดีเท่ากับ Windows โดยทั่วไป :)
Michael Hampton

12

เป็นทางเลือกที่เร็วกว่าและถูกกว่าสำหรับคำตอบของ sudodusคุณสามารถบูตได้โดยตรงจากไฟล์อิมเมจไดรฟ์ที่สามารถบูตได้แทนไดรฟ์เฉพาะ (USB)

อย่างน้อยสำหรับอิมเมจ ISO ของ Ubuntu (และอนุพันธ์เช่น Linux Mint) สูตรต่อไปนี้ใช้งานได้ การแจกแจงอื่น ๆ อาจต้องการการปรับแต่งเพิ่มเติม

  1. เก็บภาพที่สามารถบูตไดรฟ์ (s) ในรูปแบบ ISO 1ที่ไหนสักแห่งเป็นไฟล์บนไดรฟ์จัดเก็บข้อมูลภายใน (s) 2

  2. เพิ่มไฟล์ "ส่วน" ของ Grub เช่น35_isofilesกับเนื้อหา

    #!/bin/bash
    set -e
    . /usr/share/grub/grub-mkconfig_lib
    shopt -s nullglob
    
    make_iso_menuentry()
    {
        local isodevice="$(exec "$grub_probe" -t device -- "$1")" || return $?
        local isogrub="$(make_system_path_relative_to_its_root "$1")"
        local label="${2:-"$1"}"
    
        printf 'menuentry %s {\n' "'${label//\'/\'\\\'\'}'"
        printf '\tset isofile=%s\n' "'${isogrub//\'/\'\\\'\'}'"
        prepare_grub_to_access_device "$isodevice" | sed -e 's/^/\t/'
        printf '\t%s\n' \
            'insmod loopback' 'insmod iso9660' 'loopback loop "$isofile"' \
            'linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename="$isofile" ro noprompt noeject noplymouth' \
            'initrd (loop)/casper/initrd.lz'
        printf '}\n\n'
    
        printf 'Found "%s" image: %s\n' "$label" "$1" >&2
    }
    
    
    for iso in /path/to/image.iso # <-- set path to your ISO image here
    do
        make_iso_menuentry "$iso" "${iso##*/}" || true
    done

    เพื่อ/etc/grub.dและทำให้มันปฏิบัติการ

    แก้ไขพา ธ ของไฟล์ในบรรทัดที่ระบุเพื่อให้ตรงกับความต้องการของคุณ คุณสามารถเพิ่มหลายเส้นทางและ / หรือรูปแบบ Bash glob หากคุณต้องการ

  3. ทำให้ไฟล์ปฏิบัติการ:

    sudo chmod a+x /etc/grub.d/35_isofiles
    
  4. ตรวจสอบให้แน่ใจว่าได้เปิดใช้งานเมนูด้วงแล้ว

  5. อัพเดตการกำหนดค่า Grub:

    sudo update-grub
    
  6. รีบูตและเลือกรายการเมนู Grub ที่เพิ่งเพิ่มเข้ามาเพื่อบู๊ตจากไฟล์รูปภาพที่เกี่ยวข้อง


1ประเภทระบบไฟล์อื่น ๆ ที่เป็นไปได้ แต่อาจต้องใช้คำสั่ง Grub อื่นและการปรับแต่งพารามิเตอร์การบูต

2 LVM, RAID และระบบไฟล์ที่เข้ารหัสควรทำงานได้ด้วยไลบรารียูทิลิตี้ของ Grub แต่ฉันไม่ได้ทดสอบ


2
ว้าว ! สิ่งที่สคริปต์! ฉันทำสิ่งเดียวกันด้วยตนเองโดยเพิ่มรายการใน /etc/grub.d/40_custom และค้นหาพารามิเตอร์ที่ดี ไม่ยากเลยที่ได้รับความช่วยเหลือจากwiki.archlinux.org/index.php/…
solsTiCe

9

Virtualization นั้นง่ายที่สุด

อย่างไรก็ตามคุณมีกรณีการใช้งานแยกกัน 2 กรณีที่นี่ซึ่งจะมีวิธีแก้ไขปัญหาที่แตกต่างกัน

1. ลองใช้ distro ใหม่

ดิสทริบิวชันจะถูกกำหนดโดยทั่วไปโดยแอปพลิเคชันที่บรรจุและสภาพแวดล้อม userspace (เช่นSystemDvs initสำหรับบูต)

หากคุณต้องการ "ประเมิน" UIX ของการกระจายที่แตกต่างกันในเชิงคุณภาพแล้วฉันจะแนะนำการจำลองเสมือนแบบเต็มรูปแบบที่คุณติดตั้งระบบปฏิบัติการอย่างครบถ้วนและประเมินการใช้งานของมัน นี่เป็นคำตอบอื่น ๆ ที่ครอบคลุมอย่างเพียงพอ

หากคุณต้องการสภาพแวดล้อม userspace สำหรับการทดสอบแล้วอ่านต่อ

2. การทดสอบและ "อินสแตนซ์ทิ้ง" ในสภาพแวดล้อมที่แตกต่างกัน

มันง่ายกว่าถูกกว่าและเร็วกว่าในการใช้ containerization รูปแบบของ virtualization ที่มีน้ำหนักเบาซึ่งใช้เคอร์เนลเพื่อสร้างสภาพแวดล้อมแบบ sandbox

คอนเทนเนอร์แชร์ทรัพยากรเคอร์เนลกับโฮสต์ แต่อย่างอื่นมีระบบไฟล์รูทของตัวเอง userpace เครือข่ายสแต็ค ฯลฯ มันอาจเป็นแนวคิดในฐานะที่เป็นchrootสเตียรอยด์ อย่างไรก็ตามเนื่องจากเคอร์เนลถูกแชร์ virtualization คือ "thin" ซึ่งหมายความว่าสำหรับการใช้งานจริงส่วนใหญ่จะทำงานที่ความเร็วเดียวกับ host OS

dockerมีระบบตู้คอนเทนเนอร์มือสองที่เรียกกันว่าเป็น นักเทียบท่ามีภาพที่ได้มาตรฐานสำหรับการกระจายลินุกซ์ทุกอย่างที่คุณต้องการและมันทำงานบน windows (อย่างไรก็ตามรูปภาพ windows จะทำงานได้เฉพาะบน windows เท่านั้นและรูปภาพ linux ทำงานได้ทั้งสองอย่าง) มันมีคุณสมบัติที่มีประโยชน์เพิ่มเติมเพื่อประหยัดพื้นที่และประสิทธิภาพ

นอกจากนี้ยังมีทางเลือกโอเพ่นซอร์สดั้งเดิมสำหรับ linux like LXC(ซึ่งสร้างไว้ในเคอร์เนล!) ซึ่งสามารถใช้กับสิ่งเดียวกันได้มาก (แต่ต้องมีการกำหนดค่าเพิ่มเติม)

ตัวอย่างแบบง่ายของการทดสอบหรือสร้างสภาพแวดล้อมใน docker

# Dockerfile

FROM ubuntu:17.10

RUN apt-get update && apt-get install -y build-essential

WORKDIR /workdir
  • docker build --tag my-builder .

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

"เข้าสู่ระบบ" และรวบรวมภายในสภาพแวดล้อมรันการทดสอบ ฯลฯ สมมติว่าคุณอยู่ในไดเรกทอรีแหล่งที่มาของโครงการของคุณ

$ docker run -v "$PWD:/workdir" --rm -it my-builder /bin/bash
# echo "Now in docker container"
# make
...
# build/test/my-test
...
# exit
$ echo "Build artifacts are now on your host OS Directory :) "

ใช้เป็นแบบครั้งเดียว

$ docker run -v "$PWD:/workdir" --rm my-builder make

คุณสามารถส่งผ่านตัวแปรสภาพแวดล้อมได้

$ docker run -e "CROSS_COMPILE=arm-linux-gnueabi" -v "$PWD:/workdir" --rm my-builder make

หรือเริ่มต้นอินสแตนซ์ถาวรและคัดลอกไฟล์ลงในมันอย่างชัดเจน

$ Start our instance in background 
$ docker run --name my-builder-inst -d my-builder
$ echo "Copy files to instance" 
$ docker cp /my/source/dir my-builder-inst:/workdir
$ echo "run project build"
$ docker exec my-builder-inst make
$ echo "copy build artifacts"
$ docker cp my-builder-inst:/workdir/build /my/output/dir
$ echo "destroy and delete container" 
$ docker rm -f  my-builder-inst

มีรูปแบบการใช้งานอื่น ๆ อีกหลายร้อยรูปแบบอย่างไรก็ตามคำจำกัดความของภาพที่เหมือนสคริปต์ภาพที่ขยายได้และการใช้บรรทัดคำสั่งทำให้น่าสนใจอย่างยิ่งสำหรับการพัฒนาทดสอบและแม้แต่สภาพแวดล้อมในการปรับใช้


1
หากคุณต้องการคอนเทนเนอร์ของระบบคุณควรจะดูที่ LXD (ง่ายกว่าเครื่องมือผู้ใช้ LXC แบบดั้งเดิม) มากกว่า Docker (ซึ่งออกแบบมาสำหรับคอนเทนเนอร์ของแอปพลิเคชัน) ที่กล่าวว่าทั้งสองสร้างอยู่ด้านบนของเคอร์เนลสนับสนุน LXC / cgroups ดูเพิ่มเติมได้ที่unix.stackexchange.com/questions/254956/…
Bob

3

ฉันเก็บพาร์ติชันแยกไว้ในไดรฟ์ของฉัน (แนะนำขั้นต่ำ 20GB มากกว่านี้ถ้าทำได้)

ฉันสามารถติดตั้งลงบนพาร์ติชันนั้นได้ทุกระบบปฏิบัติการที่ฉันต้องการทดสอบจากนั้นรีบูทเข้าไป

หากทุกอย่างทำงานได้ดีฉันสามารถเลิกใช้พาร์ติชันระบบปฏิบัติการเดิมของฉันได้และเปลี่ยนใหม่ในที่สุด

แต่ถ้าระบบปฏิบัติการใหม่ไม่ทำงานสำหรับฉัน (ปัญหาไดรเวอร์, ซอฟต์แวร์ที่ใช้งานไม่ได้) จากนั้นฉันก็สามารถรีบูตระบบปฏิบัติการเก่าของฉันและขอขอบคุณที่ฉันยังคงมีมัน!

หมายเหตุ:

  • วิธีนี้คุณจะได้รับการทดสอบระบบปฏิบัติการใหม่บนฮาร์ดแวร์ของคุณเพื่อให้คุณสามารถตรวจสอบปัญหาไดรเวอร์

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

  • ฉันเก็บของฉัน /homeพาร์ติชั่นขนาดใหญ่แยกต่างหากดังนั้นมันจึงเป็นอิสระจากสองระบบปฏิบัติการ (อย่าฟอร์แมตพาร์ติชันนั้นโดยไม่ตั้งใจ!)

  • แต่ฉันขอแนะนำให้คุณอย่าใช้/homeพาร์ติชันที่แชร์ในขณะทำการทดสอบ หากทั้งสองระบบปฏิบัติการมีเวอร์ชั่นซอฟต์แวร์แตกต่างกันมากแอปพลิเคชั่นอาจเปลี่ยนไฟล์กำหนดค่าในลักษณะที่ไม่เหมาะสมสำหรับระบบปฏิบัติการอื่น ดังนั้นให้เก็บไฟล์ config แยกต่างหากสำหรับแต่ละ OS จนกว่าคุณจะยอมรับไฟล์ใดไฟล์หนึ่ง (*) ดูด้านล่าง

  • คุณไม่จำเป็นต้องสร้างพาร์ติชั่น swap ที่สอง คุณสามารถใช้ swap partition เดียวกันสำหรับทั้งสอง OS

  • แน่นอนคุณต้องระวังพาร์ทิชันที่คุณฟอร์แมต / ติดตั้ง ดังนั้นทำการสำรองข้อมูลและจดรหัสพาร์ติชั่นและขนาดของคุณ (แยก, p, q), ก่อนติดตั้งระบบปฏิบัติการใหม่

  • ในการที่จะทำการบูทคู่ระหว่างสองระบบปฏิบัติการคุณจำเป็นต้องใช้ด้วงเพื่อตรวจจับทั้งคู่ จากประสบการณ์ของฉันด้วงจะทำสิ่งนี้โดยอัตโนมัติ (แต่ lilo เคยเป็นเรื่องที่แตกต่าง!)

  • มักจะสามารถเรียกใช้ซอฟต์แวร์จากระบบปฏิบัติการหนึ่งขณะที่คุณอยู่ในระบบปฏิบัติการอื่น ฉันจัดการว่าการใช้sudo chroot /mnt/original_osแม้ว่ามันจะเป็นไวโอลินในการตั้งค่า : ผมต้องผูกติดและ/dev/proc

บันทึกของฉันคือระบบปฏิบัติการ Linux 4 ระบบบนเครื่องเดียวและ Windows XP ฉันเคยบูทเข้าสู่ Gentoo เพื่อความรวดเร็วและสนุกสนาน แต่ใช้เว็บเซิร์ฟเวอร์และเซิร์ฟเวอร์จดหมายใน chroot ของ Debian OS ที่เชื่อถือได้

(*) คุณสามารถกำหนดค่าโฮมโฟลเดอร์ที่แตกต่างกันสำหรับแต่ละ OS /etc/passwdโดยการแก้ไข ตั้งค่าบ้านของคุณเพื่อ/home/you/arch-testกำหนดเป้าหมายพาร์ติชันที่ใช้ร่วมกันในบ้าน/etc/fstabและรีบูต คุณสามารถเชื่อมโยง dotfiles บางอย่างเพื่อแชร์ข้ามทั้งสอง OS ในขณะที่ปล่อยให้คนอื่น ๆ ใช้เฉพาะกับ OS


1
จำเป็นต้องไว้วางใจสคริปต์การติดตั้งจริง ๆ .....
mckenzm

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

ฉันจะไม่ทำสิ่งนี้อีก ฉันเคยพบข้อผิดพลาดที่ชัดเจนซึ่งทำให้พาร์ทิชันที่เข้ารหัสแล้วหายไปแม้แต่ที่ไม่ได้เป็นส่วนหนึ่งของการติดตั้งที่ร้องขอ AFAIK ข้อผิดพลาดนี้ยังไม่ได้รับการแก้ไข
Michael Hampton

3

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

1. การจำลองเสมือน

ข้อดี :

  • ค่อนข้างง่ายต่อการติดตั้ง
  • จะไม่ส่งผลกระทบต่อสภาพแวดล้อม dev หลักของคุณ
  • คุณสามารถตั้งค่าได้มากเท่าที่คุณต้องการตราบใดที่คุณมีพื้นที่ฮาร์ดไดรฟ์ - แม้กระทั่งสร้างสแน็ปช็อตก่อนที่จะทำการเปลี่ยนแปลงที่สำคัญและเพียงแค่ลบพวกเขาเมื่อคุณทำกับพวกเขา

จุดด้อย :

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

2. แฟลชไดรฟ์ที่สามารถบูตได้

ข้อดี :

  • ตั้งค่าได้ง่ายปานกลาง
  • จะไม่ส่งผลกระทบต่อสภาพแวดล้อม dev หลักของคุณ
  • ประสิทธิภาพการทำงานโดยทั่วไปจะดีกับแฟลชไดรฟ์ USB3 ถึงแม้ว่าจะมีการเปลี่ยนแปลงบางอย่างขึ้นอยู่กับคุณภาพของแฟลชไดรฟ์ (USB2 จะช้าลง - ฉันจะหลีกเลี่ยงเพื่อวัตถุประสงค์นี้)
  • ใช้ฮาร์ดแวร์จริงของคุณ (นอกเหนือจากอุปกรณ์จัดเก็บข้อมูล) เพื่อให้คุณสามารถดูว่ามันเล่นกับไดรเวอร์และอะไร
  • คุณสามารถตั้งค่าได้มากเท่าที่คุณต้องการตราบใดที่คุณมีแฟลชไดรฟ์เพียงพอ (และคุณสามารถฟอร์แมตใหม่ได้อย่างง่ายดายหากคุณต้องการลองอย่างอื่น)

ข้อเสีย :

  • ต้องมีแฟลชไดรฟ์หนึ่งตัว (หรือมากกว่า) เพื่อวัตถุประสงค์นี้โดยเฉพาะ
  • ประสิทธิภาพขึ้นอยู่กับคุณภาพของแฟลชไดรฟ์ที่คุณใช้

3. บูตคู่จากพาร์ติชัน

ข้อดี :

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

ข้อเสีย :

  • ต้องการความรู้ระดับต่ำในการตั้งค่าอย่างเหมาะสม
  • messing กับพาร์ทิชันฮาร์ดไดรฟ์และ bootloaders มักจะมีโอกาสที่จะ bork การตั้งค่าปัจจุบันของคุณ (ให้แน่ใจว่าคุณมีแฟลชไดรฟ์ที่สามารถบูตได้หรือซีดีสดที่มีประโยชน์ก่อนที่จะเริ่ม)

หากคุณแยกทางเลือกนักเทียบท่าแยกจากการจำลองเสมือนในโพสต์ของคุณฉันยินดีที่จะทำเครื่องหมายเป็นคำตอบที่ครอบคลุมทุกทางเลือก IMHO ฉันรู้สึกว่าภาชนะบรรจุไม่ใช่การจำลองเสมือนจริงเนื่องจากไม่ได้ใช้initระบบเต็มรูปแบบที่แท้จริงและเมล็ดเต็ม ตู้คอนเทนเนอร์ (นักเทียบท่า, LXC, ฯลฯ ) มีน้ำหนักเบากว่าในทรัพยากรเมื่อเทียบกับการจำลองเสมือนแบบเต็ม (ฯลฯ ) ...
Ted Cahall

2

QEMU

QEMU เป็นโซลูชันเวอร์ชวลไลเซชันที่แก้ปัญหาความต้องการของคำถามในราคาถูกและเรียบง่ายในทางทฤษฎี

อนุญาตให้ลากและวางการบู๊ตไฟล์ iso ของระบบปฏิบัติการภายในโฮสต์ Linux หรือ Windows

นอกจากนี้ยังช่วยให้สามารถบูตฮาร์ดไดรฟ์ Live USB ภายในระบบโฮสต์และใช้การคงอยู่หากมี

ไม่จำเป็นต้องสร้างฮาร์ดดิสก์เสมือนเช่นเดียวกับ VBox

QEMU พร้อมใช้งานเป็นแอพบรรทัดคำสั่งสำหรับ Linux, Windows และ OS อื่น ๆ นอกจากนี้ยังสามารถใช้ได้เป็น GUI และมาพร้อมกับMultiBootUSB Linux และ Windows รุ่นhttp://multibootusb.org/

QEMU

QEMU สามารถเรียกใช้จาก Virtual Machine Manager ซึ่งเร็วกว่า MBUSB แต่ไม่ได้ลากและวาง

sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
sudo apt-get install virt-manager

สำหรับการทดสอบระบบปฏิบัติการในระยะยาวระบบ VirtualBox ที่ติดตั้งนั้นเหนือกว่า


ขอขอบคุณ! ฉันไม่เคยได้ยินเกี่ยวกับตัวเลือกนี้ ฉันจะดูมัน
Ted Cahall

2

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

ฉันได้ใช้และทดสอบระบบปฏิบัติการหลายแห่งด้วยวิธีนี้ มันง่ายและรวดเร็วมาก แม้ฉันใช้ MSDOS และ Windows 3.1 โดยใช้การจำลองเสมือน คุณสามารถติดตั้งอะไรก็ได้แม้แต่ ChromeOS (ด้วยการทำงานเพียงเล็กน้อย) หรือ Windows หรือ Linux ทุกรุ่นไม่ว่าจะเป็นเรื่องของเดสก์ท็อปก็ตาม


1

ฉันได้ทำการบูทอูบุนตูจากไดรฟ์ USB ในช่วง 3 ปีที่ผ่านมาเรียบร้อยแล้ว USB 2.0 ช้ากว่า 3G SATA HD รุ่นเก่าเล็กน้อย (แคช 7200 รอบต่อนาที 16 MB) แต่ USB 3.0 นั้นใช้งาน SSD ภายในสองสามวินาทีของ SSD บนอินเตอร์เฟส 3G SATA

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