ใช้ fsck เพื่อตรวจสอบและซ่อมแซมดิสก์ที่เข้ารหัสของ LUKS หรือไม่


13

เครื่อง Ubuntu 11.04 ของฉันใช้การเข้ารหัส LUKS สำหรับรูทการสลับและโฮม รูทีน fsck -n เปิดเผยชุดของข้อผิดพลาดที่ฉันต้องซ่อมแซม fsck ต้องการยกเลิกการต่อเชื่อมพาร์ติชั่น ก่อนที่ลูกคู่ฉันจะเพียงแค่บูตจากแท่ง USB และแก้ไขการเรียกใช้ fsck จากที่นั่น ขั้นตอนการทำเช่นนั้นสำหรับพาร์ติชันที่เข้ารหัสของ LUKS มีอะไรบ้าง

คำตอบ:


27

วิธีการที่แน่นอนขึ้นอยู่กับว่าคุณมี luks ตั้งค่าอย่างไรและถ้าคุณมี LVM อยู่ด้านบนของ luks หรือถ้าคุณมีระบบไฟล์ในปริมาณ luks

หากคุณไม่มี LVM นอกเหนือจาก luks คุณอาจทำสิ่งนี้

cryptsetup luksOpen /dev/rawdevice somename
fsck /dev/mapper/somename

# or

cryptsetup luksOpen /dev/sda2 _dev_sda2
fsck /dev/mapper/_dev_sda2

หากคุณใช้ตัวเลือก LVM บน LUKS ที่จัดเตรียมโดยตัวติดตั้ง Debian / Ubuntu คุณจะต้องเริ่มต้น LVM ดังนั้นvgchange -alyหลังจากที่เปิดปริมาณการเข้ารหัสจากนั้นก็วิ่ง fsck /dev/mapper/lvnameกับ

(ถ้าคำสั่งที่หายไปคุณอาจจำเป็นต้องทำapt-get install cryptsetupครั้งแรก. ในทำนองเดียวกันถ้าคุณจำเป็นต้องvgchangeทำapt-get install lvm.)


ไม่ว่าจะด้วยเหตุผลใดก็ตามcryptsetup luksOpen /dev/rawdevice somenameก็ไม่ได้ทำให้ฉันทำงานได้fsckถึงแม้ว่ามันจะปรากฏขึ้นด้วยvgscanดีหลังจากvgchange -ayที่ 'ใช้งานอยู่' ... ฉันต้องสร้างอุปกรณ์ดิบด้วยตนเองด้วยvgscan --mknodesและจากนั้นfsckบนโลจิคัลวอลุ่มที่แสดงในvgscanด้วยfsck /dev/cryptVG/root- หวังว่าสิ่งนี้จะช่วยให้คนอื่นอยู่ข้างนอก
Dmitri DB

ไม่ว่าฉันจะใช้cryptsetupหรือcryptdisk_startว่าฉันจะได้ผลลัพธ์เหมือนกันเมื่อฉันลองfsck: /dev/mapper/ext_crypt is in use. ฉันตรวจสอบmountแล้วและไม่ได้ติดตั้งที่ใดก็ได้
Nikodemus RIP

9

คุณต้องเปิดระดับเสียง LUKS ก่อน

cryptsetup luksOpen /dev/(whatever) someName

นี่จะขอรหัสผ่านจากคุณจากนั้นสร้าง/dev/mapper/someNameซึ่งเป็นอุปกรณ์ธรรมดาที่คุณสามารถใช้งานfsckได้ เมื่อคุณทำเสร็จแล้ว

cryptsetup luksClose someName

จะลบ/dev/mapper/someNameอุปกรณ์ธรรมดา,.


1

ขั้นตอนควรเหมือนกัน

ใช้ Debian (7.7.0 amd64 netinst, ในกรณีของฉัน) USB stick, หนึ่งสามารถเข้าสู่โหมดช่วยเหลือ, ซึ่งควรระบุพาร์ติชัน LUKS, พร้อมท์ใส่รหัสผ่าน, และแมปมัน. นอกจากนี้ยังระบุและแมปพาร์ติชัน LVM ใด ๆ ที่อยู่ในนั้น หากคุณไม่ติดตั้งพาร์ติชันรูทจากเชลล์พรอมต์คุณก็ทำได้e2fsck -f -c /dev/system_name/partition_nameฯลฯ

คำถามนี้อายุสี่ขวบ แต่ฉันไม่คิดว่าขั้นตอนจะเปลี่ยนไป


ฉันควรจะชี้ให้เห็นว่าการทำfsck -nบนระบบไฟล์ที่ติดตั้งอยู่เกือบจะแน่ใจว่ารายงานข้อผิดพลาดที่จะไม่เกิดขึ้นจริงเมื่อคุณfsckunmount!

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