เป็นไปได้หรือไม่ที่จะทำการบูทสองระบบปฏิบัติการในเวลาเดียวกัน?


36

เป็นไปได้หรือไม่ที่จะทำการบูทสองระบบปฏิบัติการในเวลาเดียวกัน?

ตัวอย่างเช่นขณะนี้ฉันกำลังบูทดูอัลอูบุนตู 11.04 และ Windows 7 อูบุนตูใช้ HDD 500GB ตัวเดียว Windows 7 ทำงานบนมิเรอร์ 1TB RAID 1 ในการสลับระหว่างสองระบบปฏิบัติการจำเป็นต้องรีบูต เป็นไปได้หรือไม่ที่จะสลับระหว่างสองระบบปฏิบัติการโดยไม่ต้องรีบูต?

หมายเหตุ : ฉันตระหนักถึงความสามารถของ VirtualBox และ VMWare Player - ฉันใช้ทั้งสองอย่าง โปรดอย่าตอบ "ใช้การจำลองเสมือน!"

แก้ไข:หากเป็นไปไม่ได้คุณสามารถแบ่งปันทำไมมันเป็นไปไม่ได้? สำหรับฉันมันไม่ได้ดูเหมือนว่ามันจะเป็นเรื่องยาก โปรดทราบว่าวิสัยทัศน์ของฉันปราศจากความรู้!


ในเมนเฟรมที่มีหน่วยความจำแบบแบ่งพาร์ติชัน ...
Fiasco Labs

คำตอบ:


36

ส่วนใหญ่หากไม่ใช่ทั้งหมดระบบปฏิบัติการหลักคาดว่าจะมีฟังก์ชั่นระดับต่ำพิเศษของคอมพิวเตอร์แม่ข่าย (เช่นฮาร์ดแวร์พอร์ต ฯลฯ ) และไม่มีแนวความคิดในการแบ่งปันกับสิ่งอื่นใด - มันจะไม่ทำงาน - ดังนั้นในการลองและเรียกใช้สองระบบปฏิบัติการพร้อมกันในระบบเดียวกันต้องใช้อนุญาโตตุลาการโปร่งใสบางรูปแบบเพื่อป้องกันระบบปฏิบัติการจากกันและกัน - กล่าวอีกนัยหนึ่งคือแอพพลิเคชันเสมือนจริง


แอพพลิเคชั่นเสมือนจริงดูเหมือนจะเป็นฉันทามติ มีตัวเลือกฟรีหรือโอเพนซอร์สที่คุณอยากจะแนะนำหรือไม่?
James Hill

2
มันขึ้นอยู่กับสิ่งที่คุณพยายามทำเพราะแอพ VM บางตัวดีกว่าบางอย่าง แต่โดยทั่วไป: เลือกระบบปฏิบัติการเริ่มต้นหลักของคุณ (เช่น: บูตที่ Ubuntu หรือ Windows) จากนั้นติดตั้ง Virtualbox, VM Player (สองคน) faves) หรือแอพ VM ที่คุณโปรดปรานจากนั้นติดตั้งระบบปฏิบัติการอื่นเป็นเครื่องเสมือนในสภาพแวดล้อมนั้น
Linker3000

คุณสามารถสร้างอูบุนตู distro จากโคลินุกซ์ได้ colinux รันเคอร์เนล linux เป็นกระบวนการบน windows ดังนั้นจึงไม่ใช่ virtualization ในความเป็นจริงสิ่งที่เป็นไปได้ที่จะถามคำถามเดิมมันยังไม่ได้ทำ
Jay R. Wren

อย่างไรก็ตามมีบางพอร์ตที่จะทำงานบนระบบปฏิบัติการซึ่งต่างจากฮาร์ดแวร์จริง - UserModeLinuxเป็นตัวอย่างที่สมบูรณ์แบบ colinux (ดังที่ได้กล่าวไว้โดย @Jay) เป็นอีกตัวอย่างหนึ่งของระบบปฏิบัติการที่ถูก "ส่งต่อ" ไปยังอีกระบบหนึ่ง
new123456

15

ดูเหมือนว่าคุณจะเลิกใช้ไฮเปอร์ไวเซอร์ Hyper-V และ Xen (เรียกว่าไฮเปอร์ไวเซอร์แบบ "โลหะเปลือย") แม้ว่าพวกเขาจะใกล้เคียงกับสิ่งที่คุณต้องการ ใช่มันเป็นการจำลองเสมือน แต่ไม่ใช่ในลักษณะเดียวกับที่ VirtualBox ทำงาน

ลองนึกภาพบางอย่างเช่น VirtualBox เป็นระบบปฏิบัติการของตัวเองดังนั้นคุณสามารถติดตั้ง VirtualBox OS ขนาดเล็กแล้วเรียกใช้ Windows และ Ubuntu แบบเคียงข้างกันเป็นเครื่องเสมือนที่ด้านบนของ VirtualBox OS นั่นคือสิ่งที่ Hyper-V หรือ Xen ทำ เป็นเพียง virtualization เลเยอร์บาง ๆ ระหว่างฮาร์ดแวร์และระบบปฏิบัติการของแขกและมันก็ใกล้เคียงที่สุดเท่าที่คุณจะสามารถใช้งานได้แบบคู่ขนานกับฮาร์ดแวร์ที่มีอยู่และระบบปฏิบัติการที่มีอยู่

คุณไม่ต้องการเซิร์ฟเวอร์แยกต่างหากสำหรับสิ่งเหล่านี้คุณเพียงแค่ติดตั้งไฮเปอร์ไวเซอร์ราวกับว่ามันเป็นระบบปฏิบัติการแรกบนเครื่องแล้วเพิ่ม Windows และ Ubuntu เป็นเครื่องเสมือนภายใต้ไฮเปอร์ไวเซอร์

ทั้ง Xen และ Hyper-V จะเรียกใช้ Ubuntu และ Windows ในฐานะระบบปฏิบัติการของแขกแม้ว่ามันอาจจะไม่ใช่การกำหนดค่าที่รองรับ Xen เป็น Linuxy มากกว่าและ Hyper-V เป็นผลิตภัณฑ์ MS ดังนั้นฉันขอแนะนำให้เลือกไฮเปอร์ไวเซอร์ตามระบบปฏิบัติการที่คุณพอใจ


8

สิ่งที่ใกล้ที่สุดที่คุณสามารถทำได้คือใช้ประโยชน์จากการจำศีล น่าเสียดายที่ระบบปฏิบัติการนั้นต่างจากคนอื่นมากพอที่จะไม่มีวิธีใดที่ระบบปฏิบัติการทั้งสองจะทำงานพร้อมกันโดยไม่ต้องใช้ระบบเสมือนจริง โดยแท้แล้วการทำเวอร์ชวลไลเซชันนั้นไม่เลวอย่างที่คุณคิดอีกต่อไป ... โดยเฉพาะเมื่อคุณใช้แพลตฟอร์มการจำลองเสมือนที่รองรับส่วนขยาย "VT" แขกผู้มาเยือนจะได้รับความสามารถในการสื่อสารโดยตรงกับฮาร์ดแวร์และมีการแมปหน่วยความจำที่ดีขึ้นมาก ฉันได้ตั้งค่าระบบปฏิบัติการของผู้เยี่ยมชมที่ติดตั้งโดยตรงบน SSD ... และมันทำงานได้เร็วกว่าโฮสต์ระบบปฏิบัติการ


ฉันไม่มีปัญหากับการจำลองเสมือนฉันใช้ VirtualBox กับคอมพิวเตอร์ทุกเครื่องที่ฉันมี คุณช่วยอธิบายนามสกุล VT ที่คุณพูดถึงอีกหน่อยได้ไหม? FYI - สำหรับใช้ในบ้านดังนั้นฉันจึงกำลังมองหาวิธีที่ถูก (อ่าน: ฟรี / โอเพนซอร์ส) ในการทำเช่นนี้
James Hill

VT = การจำลองเสมือนสำหรับฮาร์ดแวร์ โดยพื้นฐานแล้วซีพียูมีส่วนขยายเพิ่มเติม (บางครั้งต้องเปิดใช้งานใน BIOS) ที่ออกแบบมาเพื่ออำนวยความสะดวกในการใช้งานระบบปฏิบัติการแบบขนาน VirtualBox สามารถทำได้ ... แต่ถ้าคุณติดอยู่กับการทำเวอร์ช่วลไลเซชั่นซอฟต์แวร์มันจะไม่ทำงานได้ดี บางครั้งเรียกว่า VT-x, VT, AMD-V, การจำลองเสมือนสำหรับฮาร์ดแวร์หรือชื่ออื่น ๆ อีกมากมาย
TheCompWiz

VMware เป็นสิ่งมีชีวิตที่คุณพูดถึงหรือไม่? ถ้าใช่จำเป็นต้องเปิดใช้งานอย่างชัดเจนหรือไม่
MasterMastic

VT เป็นคุณลักษณะของโปรเซสเซอร์ มันเป็นเรื่องของสภาพอากาศหรือไม่ CPU ของคุณมีบิตในตัวหรือไม่ ... และถ้าเมนบอร์ดมีการสนับสนุน (ส่วนขยายตัวประมวลผลสามารถปิดการใช้งานใน BIOSs จำนวนมาก) โดยปกติจะเปิดใช้งานโดยค่าเริ่มต้น ... แต่สามารถปิดการใช้งาน แล็ปท็อป HP ของฉันปิดใช้งาน ... แต่เซิร์ฟเวอร์ซูเปอร์ไมโครของฉันเปิดใช้งานแล้ว
TheCompWiz

7

นี่คือเหตุผลง่ายๆสั้น ๆ คำตอบคือ 'ไม่': ซอฟต์แวร์ใดที่จะควบคุมฮาร์ดแวร์ของคุณ

หาก OS 1 ทำอยู่แสดงว่าคุณไม่ได้ใช้งาน OS 2 หากทำ OS 2 แสดงว่าคุณไม่ได้ใช้งาน OS 1 หากทั้งคู่ทำเช่นนั้นซอฟต์แวร์อื่น ๆ จะต้องเป็นสื่อกลางในการเข้าถึงฮาร์ดแวร์ทางกายภาพที่ใช้ร่วมกัน และนั่นคือการจำลองเสมือน (ซึ่งคุณตัดออก)


8
นอกเสียจาก OS 1 คือ OS / 2 จากนั้น OS ของคุณที่ใช้งาน / เป็นระบบปฏิบัติการ 1: D
Kenneth Cochran

นั่นเป็นเพียงแค่ Warped ธรรมดา ... การระลึกถึงระบบปฏิบัติการที่เรียบร้อยซึ่งสร้างโดย บริษัท ที่ไม่สามารถทำการตลาดให้พ้นจากถุงกระดาษเปียก
Fiasco Labs

2

สิ่งที่ควรคำนึงถึงคือ:
- การจัดการหน่วยความจำ (RAM และแคช)
- การจัดการกระบวนการ (เธรดกระบวนการทำงาน)

ดังนั้นคุณอาจจำเป็นต้องมีชายคนหนึ่งในการใช้หน่วยความจำกลางและกระบวนการระหว่างสองระบบปฏิบัติการ

นั่นจะเป็นอีกหนึ่งระบบปฏิบัติการ / เฟิร์มแวร์
ดังนั้นหากมีคนใช้งานระบบปฏิบัติการจะนำไปใช้งานคุณอาจจบลงด้วย 3 แทนที่จะเป็น 2 ระบบปฏิบัติการพร้อมกัน

แก้ไข -
เพิ่มสิ่งที่ linker3000 เขียนไว้: การจัดการพอร์ต

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


2

ระบบปฏิบัติการทั้งหมดฉันตระหนักถึงความต้องการการควบคุมทั้งหมดของฮาร์ดแวร์คอมพิวเตอร์

เป็นไปได้ในทางทฤษฎีแม้ว่า ทั้งสองระบบจะต้องได้รับการออกแบบมาเพื่อ:

  • ทำงานเป็นทั้งต้นแบบ (การควบคุมฮาร์ดแวร์ทั้งหมด) และสลาฟ (ร้องขอทรัพยากรจากระบบปฏิบัติการหลัก)
  • ยกเลิกการควบคุมฮาร์ดแวร์ตามคำขอจากระบบปฏิบัติการอื่น

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


1

ให้ฉันพูดถึงส่วน "ทำไม"

หนึ่งในเหตุผลสำหรับระบบปฏิบัติการที่ทันสมัยคือการอนุญาตให้หลายโปรแกรม (กระบวนการ) ให้ทำงานในเวลาเดียวกันในระบบ หากคุณต้องการทำสิ่งนี้อย่างปลอดภัยความต้องการต่อไปนี้จะเกิดขึ้น:

  • คุณอาจ (ยกเว้นกรณีที่คุณมีความต้องการพิเศษ) ไม่ต้องการแบ่ง RAM ในระบบแบบตายตัว - เช่น 256MB คงที่ต่อกระบวนการ - จำกัด คุณไว้ที่ 8 กระบวนการในระบบ 2GB คุณต้องการให้แต่ละกระบวนการสามารถ "ขอ" หน่วยความจำและส่งคืนเมื่อดำเนินการเสร็จ

  • นอกจากนี้คุณยังไม่ต้องการแบ่งอุปกรณ์ I / O แบบคงที่ระหว่างอุปกรณ์ โดยทั่วไปคุณต้องการฮาร์ดแวร์บางส่วนหรือทั้งหมดเช่นหน่วยความจำให้เป็นทรัพยากรที่ใช้ร่วมกันหรืออย่างน้อยก็เป็นการชั่วคราวเฉพาะกับกระบวนการเฉพาะในบางช่วงเวลา สิ่งนี้ต้องการให้กระบวนการทั้งหมดไม่พยายามทำ I / O ด้วยตัวเอง แต่ "ผ่าน" บางสิ่งบางอย่างเพื่อกำหนดเวลาและประสานงาน I / O การกำหนดเวลามีความสำคัญเนื่องจาก I / O ส่วนใหญ่ช้ากว่า CPU มากดังนั้นคุณสามารถให้ CPU ทำงานได้สำหรับกระบวนการอื่น ๆ ในขณะที่กำลังรอ I / O แม้ในระบบแกนเดียว

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

แน่นอน แต่ไม่มีอะไรในฮาร์ดแวร์ที่สามารถหยุดระบบปฏิบัติการหนึ่งไม่ให้กระทืบหน่วยความจำในระบบปฏิบัติการอื่น หาก CPU อยู่ในโหมดเคอร์เนล (มีเพียงโหมดเคอร์เนลเดียว ) โค้ดใด ๆ ก็สามารถทำอะไรได้ เป็นไปได้ 100% ที่รหัสจากระบบปฏิบัติการหนึ่งจะเรียกใช้รหัสหรือข้อมูลของระบบปฏิบัติการอื่น และเรารู้ว่าระบบปฏิบัติการมีช่องโหว่ในอดีตและจะมีมากขึ้นในอนาคต ดังนั้นมันจึงแย่มากสำหรับความปลอดภัย

ทีนี้มันจะไม่เจ๋งขนาดไหนถ้าคุณใส่ "เลเยอร์" อีกอันไว้เหนือนี้และต้องการฮาร์ดแวร์ที่รองรับระบบปฏิบัติการหลายระบบ นั่นคือสิ่งที่คุณสมบัติการจำลองเสมือนของฮาร์ดแวร์ทำเช่นนั้นพวกเขาวางกำแพงกั้นฮาร์ดแวร์ระหว่างระบบปฏิบัติการหลายตัวที่ใช้งานอยู่และมี "อินเตอร์เฟซ" ระดับสูงสุดสำหรับพวกเขาที่เรียกว่าไฮเปอร์ไวเซอร์ คุณมีได้แค่หนึ่งไฮเปอร์ไวเซอร์ และใช่กระบวนการที่ทำงานภายใต้ระบบปฏิบัติการอย่างใดอย่างหนึ่งจะต้องผ่านสามชั้นเพื่อทำ I / O (กระบวนการ - เคอร์เนลท้องถิ่น - hypervisor)


0

ฉันรู้ว่าคุณไม่ได้พูดถึง Virtualization แต่อย่างเซิร์ฟเวอร์ MS Hyper V อาจเหมาะกับความต้องการของคุณ


Hyper-V ต้องการเครื่องที่สองเพื่อทำหน้าที่เป็นเซิร์ฟเวอร์ หากฉันมีเครื่องที่สองที่ทรงพลังฉันจะตั้งมันถัดจากหอคอยอื่นและเริ่มต้นพวกเขาด้วยระบบปฏิบัติการที่แตกต่างกัน :) นอกจากนี้จากสิ่งที่ฉันเข้าใจการตั้งค่าจะมีค่าใช้จ่ายไม่ต่ำกว่า 2 เหรียญ
James Hill

ฉันคิดว่าคุณสามารถเรียกใช้เทคโนโลยี Hyper V บนเครื่องเดียว ..
Akash

2
V ในไฮเปอร์ - วีใช้สำหรับการจำลองเสมือน หากข้อ จำกัด ไม่มีการจำลองเสมือนแล้วไฮเปอร์ - วีไม่ใช่วิธีแก้ปัญหา
Jay R. Wren

0

ไม่มีทางอื่นนอกจากเวอร์ชวลไลเซชัน ฉันพบว่ามันยากที่จะรับข้อมูลที่ชัดเจนว่าระบบแขกจะทำงานกับไฮเปอร์ไวเซอร์ต่างกันได้อย่างไร http://en.wikipedia.org/wiki/Hypervisorควรจะเป็นจุดเริ่มต้นที่ดีในการรับข้อมูลและ Xen อาจจะคุ้มค่าที่จะลองแม้ว่าฉันจะรอให้ใครบางคนยืนยันหรือปฏิเสธอย่างแน่นอนว่ารองรับแขก Windows 7 หรือไม่

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