มีวิธีที่สะอาดในการรับสิทธิ์การเข้าถึงฟิสิคัลพาร์ติชันใน Windows หรือไม่?


11

ฉันพยายามภายใต้ Windows 7 เพื่อเรียกใช้เครื่องเสมือนกับ VMWare Player จากระบบปฏิบัติการที่ติดตั้งบนฟิสิคัลพาร์ติชัน อย่างไรก็ตามเมื่อฉันบูตเครื่องเสมือน VMWare Player บอกว่ามันไม่สามารถเข้าถึงไดรฟ์ทางกายภาพสำหรับการเขียน

นี่น่าจะเป็นปัญหาที่รับการยอมรับโดยทั่วไปในชุมชน VMWare เนื่องจาก Windows Vista ได้เปิดตัวคุณลักษณะด้านความปลอดภัยใหม่ที่น่าสนใจซึ่งทำให้เป็นไปไม่ได้ที่จะเขียนลงในไดรฟ์แบบดิบโดยไม่ต้องเข้าถึงแบบเอกสิทธิ์เฉพาะบุคคลก่อน

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

ดังนั้นผมจึงจะถูกทิ้งให้อยู่กับวิธีการแก้ปัญหาที่สกปรก ในระยะสั้นมันเข้าไปยุ่งกับ MBR เพื่อลบร่องรอยของพาร์ติชั่นที่ใช้ทำให้ Windows ลืมพวกเขาแล้วคืนค่า MBR เพื่อให้เราสามารถเปิดตัว VM

ฉันไม่แน่ใจว่าฉันต้องการจะทำอย่างนั้น มีวิธีที่จะให้ VMWare เข้าถึงการเข้าถึงพาร์ติชันแบบเอกสิทธิ์โดยไม่ต้องให้ฉันจัดการมันหรือไม่? สิ่งที่ฉันกำลังมองหาคือวิธีการใส่พาร์ติชันแบบออฟไลน์แทนที่จะเป็นไดรฟ์ทางกายภาพทั้งหมด


ข่าวสารเพิ่มเติมที่เกี่ยวข้องกับเงินรางวัล

ฉันมีการตั้งค่าดูอัลบูต: Mac OS เป็นระบบปฏิบัติการหลักของฉันและฉันก็ติดตั้ง Windows ด้วย มากเท่าที่ฉันสามารถเรียกใช้ Windows ในเครื่องเสมือนได้หากฉันไม่ต้องการรีบูตฉันต้องการที่จะสามารถเรียกใช้ Mac OS ในเครื่องเสมือนได้เมื่อฉันใช้ Windows

เป้าหมายของฉันคือเรียกใช้พาร์ติชัน Mac OS หลักของฉันจาก VMWare ภายใต้ Windows เช่นเดียวกับที่ฉันใช้ Windows จาก VMWare Fusion (เนื่องจากนี่คือระบบปฏิบัติการหลักของฉันฉันไม่ได้วางแผนที่จะปรับปรุงเคอร์เนลหรืออะไรก็ตามที่ทำให้มันทำงานบนเครื่องเสมือนได้) ฉันสร้างเครื่องเสมือนจาก VMWare Fusion (เนื่องจากมีชนิด VM "Mac OS X Server" ) จากนั้นย้ายไปยัง Windows และแก้ไขจาก VMWare Player ดูเหมือนว่าเกือบจะทำงานได้เนื่องจากระบบปฏิบัติการมาถึงหน้าจอการโหลดแล้ว VM ก็ตายเพราะไม่สามารถเข้าถึง\\.\PhysicalDrive0ได้

กล่องเสมือนล้มเหลวหนักขึ้นเนื่องจากมันเริ่ม Mac OS ในโหมด verbose และล้มเหลวอย่างรวดเร็ว (แต่ดูเหมือนว่าจะสามารถเข้าถึงพาร์ติชันได้) ดังนั้นฉันคิดว่ามันจะง่ายกว่าที่จะให้ VMWare เข้าถึงพาร์ติชันของฉันได้ มัน.

ในด้านกฎหมายฉันจะเรียกใช้ Mac OS X หนึ่งชุดบนเครื่องที่มีป้ายกำกับของ Apple เครื่องหนึ่งดังนั้นฉันจึงไม่เป็นไร


ปัญหาที่น่าสนใจ มันใช้งานได้ไหมถ้าคุณสร้างพาร์ติชั่นที่ว่างเปล่าและยังไม่ฟอร์แมต?
nhinkle

@ ริ้วรอยฉันไม่มีห้องพาร์ทิชันสำรองที่ฉันสามารถทดสอบกับไดรฟ์ภายในของฉัน อย่างไรก็ตามจากสิ่งที่ฉันอ่านดูเหมือนว่า Windows จะล็อคพาร์ติชันใด ๆ ที่สามารถรับรู้ได้ และฉันสามารถยืนยันได้ว่ามันจะยังคงล็อคผู้ที่ไม่มีจุดเชื่อมต่อเช่นกัน
zneak

@zneak: ฉันเคยใช้ TrueCrypt ในอดีตเพื่อแก้ไขข้อ จำกัด ของ Windows เนื่องจากมีไดรเวอร์ดิสก์ของตัวเองจึงอาจเขียนลงดิสก์ได้ ทำไมคุณไม่ลองสร้างพาร์ติชั่นเป็นดิสก์เสมือน TrueCrypt ล่ะ?
harrymc

@harrymc ฉันไม่ได้ลอง ฉันต้องเข้ารหัสพาร์ทิชัน Mac OS ของฉันหรือไม่?
zeak

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

คำตอบ:


5

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

devio สามารถรับฟิสิคัลพาร์ติชันและเผยแพร่บนเครือข่าย ตัวอย่างเช่น:

devio -r 9000 \\.\PhysicalDrive0 2

เผยแพร่จากดิสก์แรกพาร์ติชันที่สองบนพอร์ต TCP 9000 และจะรอการเชื่อมต่อบนพอร์ตนี้ ปิดการใช้งานไฟร์วอลล์ได้ดีขึ้นในขณะทดสอบและเรียกใช้ devio ในฐานะผู้ดูแลระบบ

ในการกำหนดพาร์ติชันที่เผยแพร่นี้เป็นฮาร์ดดิสก์ใหม่และแบบสแตนด์อะโลนให้ใช้:

imdisk -a -t proxy -o ip -f 127.0.0.1 -m R:

ซึ่งใช้ localhost จะสร้างฮาร์ดดิสก์ใหม่ที่ชื่อว่า R ซึ่งไม่ใช่พาร์ติชั่นอะไรเลย ตอนนี้คุณสามารถลองใช้งานว่าคุณสามารถใช้งานฮาร์ดดิสก์ปลอม R ในเครื่องเสมือนของ VMware ได้หรือไม่

วิธีการนี้จะมีการอธิบายในรายละเอียดในDevio: การเข้าถึงระยะไกลไดรฟ์และการซื้อ

หากวิธีนี้ใช้ไม่ได้ผลคุณจะต้อง:

  1. ยอมรับโซลูชันที่เป็นอันตรายที่ปรับเปลี่ยน MBR
  2. ยกเลิกการใช้ MacOS ภายใน Win7 เป็น VM โดยใช้ไฟล์ในพาร์ติชั่น Mac ผ่านแอพพลิเคชั่น Windows (ที่มีปัญหาอักขระปลายทาง)
  3. ใช้ผลิตภัณฑ์ระบบไฟล์เสมือนเช่นELDOS Callback File Systemแม้ว่าฉันจะสงสัยว่าปัญหานี้คุ้มสำหรับคุณหลายพันดอลลาร์
  4. ละทิ้ง Windows 7 และปรับลดรุ่นเป็น XP
  5. ปรับเปลี่ยนแหล่งที่มาของ imdiskเพื่อให้เป็นเคอร์เนลไดรเวอร์มันจะสร้างดิสก์ที่แกล้งทำเป็นโดยตรงบนฟิสิคัลพาร์ติชันโดยไม่จำเป็นต้องใช้ devio

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

@Breakthrough ฉันคิดว่าคุณพลาดความจริงที่ว่าทั้งสอง OS อยู่ในดิสก์เดียวกัน
zneak

@zneak: ฉันคิดว่า @Breakthrough ถูกต้อง - มีหลายโปรแกรมที่สามารถบันทึกและกู้คืน MBR ในกรณีฉุกเฉินได้
harrymc

นอกจากนี้สำหรับการบันทึก VMWare น่าเสียดายที่ไม่สามารถใช้ไดรฟ์เสมือนจาก imdisk
zneak

ถูกต้องเพราะ ImDisk ลงทะเบียนไม่ถูกต้องกับ NT Mount Manager โดยใช้รหัสควบคุมIOCTL_MOUNTMGR_CREATE_POINT มันสร้างลิงค์สัญลักษณ์แทนตัวอักษรไดรฟ์โดยตรงและแน่นอนเคอร์เนลจะไม่พิจารณาว่าเป็นโวลุ่มที่ถูกต้องตามกฎหมาย ฉันพยายามทำให้มันทำงานก่อน แต่ก็ไม่ประสบความสำเร็จเท่าไหร่ (เป็นเหตุผลเดียวกันว่าทำไมคุณไม่สามารถใช้ไดรฟ์ข้อมูล ImDisk สำหรับติดตั้ง VHD ได้)
user541686

2

ขึ้นอยู่กับความสิ้นหวังที่คุณจะได้ทำงานนี้ แต่ฉันจะบอกว่าเป็นไปได้ด้วยขั้นตอน "เพียงแค่" สอง "ง่าย" (อ่าน: โหดร้าย):

  1. เขียนโปรแกรมควบคุมการบายพาสชุดข้อ จำกัด โดย Windows โดยใช้ (กึ่ง -?) SL_FORCE_DIRECT_WRITEธงเอกสาร

  2. ตะขอCreateFileและ / หรือWriteFileสายจาก VMWare ใช้ห้องสมุดเช่นEasyHook (ฉันบอกคุณมันเป็นเรื่องง่าย!) DeviceIoControlในการสื่อสารกับไฟล์ด้วยตนเองกับคนขับรถของคุณอาจสื่อสารกับคนขับรถที่ใช้

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


แก้ไข:

ฉันคาดเดาคุณคิดแล้วออกนี้ แต่โครงสร้างที่คุณจำเป็นต้องปรับเปลี่ยนเรียกว่าFLT_IO_PARAMETER_BLOCKIRP_MJ_READสำหรับ ไม่แน่ใจว่ามันจะง่ายแค่ไหน แต่ก็ไม่ควรยากเกินไป


ฟังดูน่าสนุก. ฉันจะตรวจสอบในวันพรุ่งนี้
zneak

@zneak: หากคุณดูคำตอบของฉัน imdisk เป็นไดรฟ์เวอร์เสมือนดิสก์โอเพ่นซอร์สที่มีอยู่ซึ่งเกือบจะทำสิ่งที่คุณต้องการอยู่แล้ว
harrymc

@ Mehrdad ฉันมีปัญหาที่คล้ายกันมากคุณช่วยฉันได้ไหม CreateFile:“ การเข้าถึงถูกปฏิเสธ” แม้จะมีสิทธิ์ของผู้ดูแลระบบ - Win7
Ali
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.