Cách thay đổi tên một phân vùng toàn hệ thống được mã hóa được ánh xạ tới


16

Hệ thống của tôi được mã hóa hoàn toàn với dm-cryptLVM. Gần đây tôi đã chuyển phân vùng được mã hóa từ /dev/sda5sang /dev/sda2.

Câu hỏi của tôi là: làm thế nào tôi có thể thay đổi tên phân vùng được mã hóa được ánh xạ từ sda5_cryptthành sda2_crypt?

Tôi có thể khởi động hệ thống tất cả các quyền. Nhưng lời nhắc tôi nhận được lúc khởi động cho biết (sda5_crypt)mặc dù các UUIDbản đồ tới /dev/sda2:

  Volume group "vg" not found
  Skipping volume group vg
Unlocking the disk /dev/.../UUID  (sda5_crypt)
Enter passphrase:

Tôi cố gắng để sống-boot, giải mã sda2, kích hoạt vg, chrootđể /dev/vg/rootvà chạy update-grub2nhưng không có kết quả.

Chỉ chỉnh sửa /etc/crypttabcũng không hoạt động.


Bạn đã tạo lại initrd sau khi chỉnh sửa /etc/crypttab?
Hauke ​​Laging

Tôi nghĩ như vậy:update-initramfs -t -u -k all
nr

Đầu ra của grep -r sda5_crypt /etc?
Hauke ​​Laging

Tìm thấy vấn đề: Tôi phải gắn kết /dev/sda1như /boot trước khi chạy update-initramfs.
nr

Làm cho câu trả lời thay vì nhận xét và chấp nhận nó (nếu điều đó là có thể với câu trả lời của riêng tôi, tôi không chắc chắn) để câu hỏi này được hiển thị như đã trả lời.
Hauke ​​Laging

Câu trả lời:


21

Crypttab "sda5_crypt" thay đổi theo đề xuất bên dưới:

Thay thế OLD_NAMEbằng NEW_NAMEtrong /etc/crypttab, và sau đó:

# dmsetup rename OLD_NAME NEW_NAME
# update-initramfs -c -t -k all
# update-grub
# reboot

2
giải cứu không cần thiết. chỉ cần chỉnh sửa crypttab, update-initramfs và lần sau khi bạn khởi động, nó sẽ được đổi tên. Bạn cũng có thể đổi tên nó trong hệ thống đang chạy bằng cách sử dụng dmsetup rename oldname newname. Lưu ý rằng điều này không giải phóng tên cũ, vì nó có thể được sử dụng.
frostschutz

@frostschutz Bạn phải có thể lấy /etc/crypttabtệp đó bằng cách nào đó bằng cách thực hiện việc gắn thủ công từ trình vỏ initramfs để bạn có thể khởi động hệ thống bình thường là có thể, nhưng không dễ dàng. Hệ thống cứu hộ là tùy chọn nhanh hơn nếu bạn không quen thuộc với cryptsetupcác lệnh LVM.
Gilles 'SO- đừng trở nên xấu xa'

1
@Gilles: chắc chắn, nhưng câu hỏi cho biết "Tôi có thể khởi động hệ thống ổn cả."
frostschutz

Bạn vừa cứu tôi một cơn đau đầu lớn @nr Cảm ơn bạn
deitch

Đây là phương pháp phù hợp, nhưng một vài chi tiết cần được chỉ ra: 1) Đừng quên cập nhật /etc/fstabtrước các lệnh này, hoặc phân vùng gốc của bạn sẽ không được gắn kết. 2) Bạn có thể nhận được một lỗi về update-grubviệc nó không thể tìm thấy tên trước đó. Giả sử bạn chỉ đổi tên tên mật mã, thì bạn có thể bỏ qua lỗi, khởi động lại và chạy update-grubsau khi bạn khởi động.
Fmstrat

0

Tôi vừa gặp vấn đề này - với sự phức tạp thêm mà tôi chưa thấy cảnh báo cuối cùng update-initramfs. Vì vậy, tôi đã đổi tên thiết bị trong crypttab, chạy update-initramfs, khởi động lại và có một vấn đề. Tôi đã giải quyết nó như sau, về cơ bản là nr nhưng tôi phải thay đổi các lệnh một chút:

  1. Khởi động hệ thống Ubuntu trực tiếp (K) từ USB
  2. Mở thiết bị trong Cá heo /? thiết lập tất cả các cấu hình cần thiết và hỏi bạn mật khẩu của bạn
  3. Mở bàn điều khiển trong thư mục gốc của hệ thống bị hỏng của bạn
  4. Thực hiện các dòng sau theo dòng
sudo -s
# get the name the partition was mounted with, starts with luks
dmsetup ls
# rename the loop device (check with ls /dev/mapper)
dmsetup rename LUKS_NAME NEW_NAME

# prepare chroot
mount --bind /dev dev/
mount --bind /proc proc/
mount --bind /sys sys/
chroot .

# mount devices (I missed this first, you need both)
mount boot
mount /

# ready to update
update-initramfs -u -k all
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.