แอตทริบิวต์ GPT ของดิสก์ / พาร์ติชันนี้หมายความว่าอะไร


0

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

GPT ATTRIBUTES = 0xC000000000000001

ฉันเข้าใจ '1' ในตำแหน่งสุดท้ายของสตริงคือการทำเครื่องหมายพาร์ติชันว่า "ต้อง" และป้องกันไม่ให้ระบบลบหรือจัดรูปแบบ ตำแหน่งแรกหลัง 'x' มีค่าที่เป็นไปได้หลายอย่างที่เทียบเท่ากับสิ่งต่าง ๆ เช่นการแสดงพาร์ติชันคือเงาหรือพาร์ติชันข้อมูลพื้นฐาน สิ่งเหล่านี้ดูเหมือนจะเป็นค่าตัวเลข (เช่น 2, 4, 8) แต่ฉันไม่พบสิ่งใดที่บ่งบอกถึงสิ่งที่ 'C' ในแอตทริบิวต์แรก ไม่มีใครรู้ว่าสิ่งนี้ทำอะไรหรือถ้ามันทำให้เกิดปัญหากับข้อมูลเสถียรภาพ / ความเสียหายในระยะยาว?

ขอขอบคุณ

คำตอบ:


0

0xCสิ่งแรก: C (hex)= 12 (dec)= 1100 (bin)= สี่บิต อักขระแต่ละตัวและทุกตัวในสตริงC000000000000001แสดงถึงสี่บิตรวม 64 บิต การแทนค่าไบนารีของสตริงคือ11…01ที่แทนที่ 60 ศูนย์

ความหมายของบิตเหล่านี้ (จากWikipedia ):

0 แพลตฟอร์มที่ต้องการ (จำเป็นโดยคอมพิวเตอร์ในการทำงานอย่างถูกต้องพาร์ทิชัน OEM เช่นสาธารณูปโภคแบ่งดิสก์ต้องรักษาพาร์ทิชันที่เป็นอยู่)
1 EFI เฟิร์มแวควรละเลยเนื้อหาของพาร์ทิชันและไม่พยายามที่จะอ่านจากมัน
2 มรดกที่สามารถบูตไบออส (เทียบเท่า เป็นแฟ
ล็กที่ใช้งานอยู่ (โดยทั่วไปคือชุดที่ 7 บิต) ที่ offset + 0h ในรายการพาร์ติชั่นของตารางพาร์ติชั่น MBR) 3–47 สำรองไว้สำหรับใช้ในอนาคต
48–63 กำหนดและใช้งานโดยแต่ละประเภทพาร์ติชัน

ไม่ชัดเจนในทันทีว่าบิตใน11…01ลำดับของคุณคือ 0 ซึ่งคือ 63 ตัวเลขมีการปรับลดลงในลำดับบิตหรือไม่ หรือบิตที่ 0 เป็นบิตที่มีนัยสำคัญน้อยที่สุด (ขวาสุด) ในเลขฐานสองที่ได้หรือไม่ ในการทดสอบของฉันกับ (Linux) gdiskฉันสลับบิตที่ 0 และคุณลักษณะที่สลับระหว่าง00…00และ00…01ดังนั้นฉันจึงบอกว่า 0 เป็นบิตที่สำคัญน้อยที่สุดในเลขฐานสองที่ได้

ซึ่งหมายความว่าการตีความของคุณ (เลขฐานสิบหก) 1นั้นถูกต้อง (แม้ว่าจะไม่สมบูรณ์ แต่ตัวเลขนั้นจะมีข้อมูลเกี่ยวกับบิต 1, 2 และ 3 เช่นกัน แต่บิตเหล่านี้จะไม่ได้ตั้งค่า)

gdisk แสดงการตีความของตัวเองเป็น:

0: system partition
1: hide from EFI
2: legacy BIOS bootable
60: read-only
62: hidden
63: do not automount

สิ่งนี้เห็นด้วยกับวิกิพีเดียเมื่อพูดถึงบิต 0-2 และด้วยคำตอบอื่น ๆและลิงก์ในนั้นสำหรับ 60, 62 และ 63 ฉันจะจัดการบิตหลังเหล่านั้นด้วยเม็ดเกลือนับตั้งแต่วิกิพีเดียระบุว่า

48–63 กำหนดและใช้งานโดยแต่ละประเภทพาร์ติชัน

และคุณไม่ได้บอกเราว่าประเภทพาร์ติชันคืออะไรดังนั้นเราจึงไม่สามารถตรวจสอบได้อีก ในทางกลับกันฉันจะไม่แปลกใจถ้า Windows ใช้กฎกับพาร์ติชันทุกประเภท การตั้งค่าของคุณ "ใช้งานได้กับคอมพิวเตอร์หลายเครื่องที่ไม่มีข้อมูลเสียหาย" แนะนำว่าอย่างน้อยสำหรับพาร์ติชันนี้โดยเฉพาะ Windows ใช้กฎของมันเกี่ยวกับบิต 62 และ 63


เพื่อสรุปคุณลักษณะที่เป็นปัญหาหมายถึง:

  • ยูทิลิตี้การแบ่งดิสก์ต้องรักษาพาร์ติชันตามที่เป็นอยู่
  • ซ่อน
  • อย่าเมานต์อัตโนมัติ

การตั้งค่านี้จะทำงานสำหรับคุณและไม่มีภัยคุกคามต่อความเสถียรของข้อมูล


ฉันไม่รู้ว่าตัวเลขตรงข้ามหรือไม่ สำหรับลำดับบิตทั้งหมดที่ฉันรู้คือสตริงอักขระ 16 ตัวที่ใช้เพื่อตั้งค่าแอตทริบิวต์ GPT พาร์ติชั่นคือ NTFS บน SSD ขนาด 250GB พื้นที่ใช้งานทั้งหมด 223GB เป็น GPT ไม่ใช่ MBR จากความเข้าใจของฉัน พาร์ติชันเดียวสำหรับดิสก์ทั้งหมดสร้างขึ้นใน windows 10 1803 นั่นคือทั้งหมดที่ฉันรู้สำหรับคุณสมบัติของพาร์ติชัน ไดรฟ์ถูกเข้ารหัสโดยใช้ VeraCrypt หลังจากที่ไดรฟ์เริ่มได้รับการยอมรับโดยอัตโนมัติจากหน้าต่างว่าใช้ไม่ได้หรือเสียหายขอให้ฟอร์แมตทุกครั้งที่ตรวจพบ
jay-123

และใช่หลังจากตั้งค่าแอ็ตทริบิวต์ gpt ให้กับสตริงที่กล่าวถึงในคำถามของฉันไดรฟ์ยังคงถูกตรวจพบโดย windows ที่มี 'ping' ที่ได้ยิน แต่ไม่ได้เมาท์ไม่ได้กำหนดอักษรกำกับไดรฟ์และซ่อนจาก explorer . เวราคริปต์ยังสามารถตรวจจับดิสก์และเมื่อถอดรหัสตัวอักษรไดรฟ์ใหม่ได้รับการกำหนดและติดตั้งด้วยฟังก์ชั่นเต็มรูปแบบ ผลลัพธ์เดียวกันนี้เกิดขึ้นเมื่อไดรฟ์เชื่อมต่อกับเครื่องที่ใช้ Windows 10 1803, หน้าต่าง 8.1 64- บิต Windows 7 64- บิต
jay-123

@ jay-123 ข้อมูลหนึ่งที่จะมีประโยชน์อย่างแน่นอนคือประเภทพาร์ติชัน (รหัส GUID ของพาร์ติชัน) มันตรงกับ GUID ใด ๆ จากรายการนี้หรือไม่? แก้ไขคำถามหากคุณต้องการเผยแพร่ GUID
Kamil Maciorowski

ขอบคุณฉันจะค้นหาและโพสต์ GUID ในภายหลังเมื่อฉันกลับถึงบ้าน ถ้าฉันตีความข้อมูลอย่างถูกต้องแล้วสตริงC000000000000002จะให้ไบนารี 11..011 เพิ่มการซ่อนจากแอตทริบิวต์ efi?
jay-123

@ jay-123 ไม่0xC0…02เป็นไบนารี110…010( 0x2เป็นไบนารี0010) ในการรับไบนารี110…011คุณต้อง0xC0…03( 0x3เป็นเลขฐานสอง0011)
Kamil Maciorowski

0

ดังที่ Kamil ชี้ให้เห็น "C" คือเลขฐานสิบหกและแสดงเป็นเลขฐานสองเป็น 1100 นั่นคือ: 1 * 8 + 1 * 4 + 0 * 2 + 0 * 1 ดังนั้นคุณสามารถคิดว่า "C" เป็นการรวมกันของ 8 และ 4

จากhttps://docs.microsoft.com/en-us/windows-server/administrator/windows-commands/gpt ต่อไปนี้เป็นค่าบางส่วนของแอตทริบิวต์ GPT

  • 0x8000000000000000 ระบุว่าพาร์ติชันจะไม่ได้รับอักษรระบุไดรฟ์ตามค่าเริ่มต้นเมื่อดิสก์ถูกย้ายไปยังคอมพิวเตอร์เครื่องอื่นหรือเมื่อคอมพิวเตอร์เห็นดิสก์เป็นครั้งแรก

  • 0x4000000000000000 ซ่อนวอลุ่มของพาร์ติชัน นั่นคือพาร์ติชันจะไม่ถูกตรวจพบโดยตัวจัดการการเมาท์

ดังนั้นในกรณีของคุณการรักษา "C" เป็นการรวมกันของ 8 และ 4 พาร์ติชันของคุณ (1) จะไม่ได้รับอักษรระบุไดรฟ์และ (2) ถูกซ่อนอยู่


มันถูกทำเครื่องหมายว่าถูกต้องด้วย ซึ่งฟังดูเหมือนพาร์ติชั่น EFI
Ramhound

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