Odblokowywanie zaszyfrowanego dysku z systemem Linux na potrzeby naprawy w trybie offline
W tym artykule opisano sposób odblokowywania dysku systemu operacyjnego z obsługą usługi Azure Disk Encryption (ADE) na potrzeby naprawy w trybie offline.
Usługa Azure Disk Encryption może być stosowana do maszyn wirtualnych z systemem Linux zatwierdzonych przez firmę Microsoft. Poniżej przedstawiono podstawowe wymagania dotyczące włączania usługi Azure Disk Encryption na maszynach wirtualnych z systemem Linux:
- Azure Key Vault
- Interfejs wiersza polecenia platformy Azure lub polecenia cmdlet Windows PowerShell
- Mapowanie urządzenia (DM)-Crypt
Symptomy
Jeśli usługa ADE jest włączona na dysku systemu operacyjnego, po próbie zainstalowania dysku na maszynie wirtualnej naprawy mogą zostać wyświetlone następujące komunikaty o błędach:
instalowanie: nieprawidłowy typ fs, zła opcja, nieprawidłowa superblok na /dev/sda2, brakujące strony kodowej lub program pomocniczy lub inny błąd
instalacja: nieznany typ systemu plików "LVM2_member"
Przygotowanie
Przed odblokowaniem zaszyfrowanego dysku systemu operacyjnego do naprawy w trybie offline wykonaj następujące zadania:
- Upewnij się, że usługa ADE jest włączona na dysku.
- Określ, czy dysk systemu operacyjnego używa szyfrowania ADE w wersji 0 (szyfrowanie dwuprzepustowe) czy ADE w wersji 1 (szyfrowanie jednoprzepustowe).
- Określ, czy dysk systemu operacyjnego jest zarządzany, czy niezarządzany.
- Wybierz metodę odblokowywania zaszyfrowanego dysku.
Sprawdź, czy usługa ADE jest włączona na dysku
Ten krok można wykonać w Azure Portal, programie PowerShell lub interfejsie wiersza polecenia platformy Azure ( interfejs wiersza polecenia platformy Azure).
Azure Portal
Wyświetl blok Przegląd dla maszyny wirtualnej, która uległa awarii w Azure Portal. W obszarze Dysk wpis szyfrowania dysków platformy Azure będzie wyświetlany jako Włączone lub Nie włączone, jak pokazano na poniższym zrzucie ekranu.
PowerShell
Za pomocą Get-AzVmDiskEncryptionStatus
polecenia cmdlet można określić, czy woluminy systemu operacyjnego lub danych dla maszyny wirtualnej są szyfrowane przy użyciu usługi ADE. Następujące przykładowe dane wyjściowe wskazują, że szyfrowanie ADE jest włączone na woluminie systemu operacyjnego:
Get-AzVmDiskEncryptionStatus -ResourceGroupName "ResourceGroupName" -VMName "VmName"
Aby uzyskać więcej informacji na temat Get-AzureRmDiskEncryptionStatus
polecenia cmdlet, zobacz Get-AzVMDiskEncryptionStatus (Az.Compute).
Interfejs wiersza polecenia platformy Azure
Możesz użyć polecenia , az vm encryption show
aby sprawdzić, czy usługa ADE jest włączona na dyskach maszyn wirtualnych:
az vm encryption show --name MyVM --resource-group MyResourceGroup --query "disks[].encryptionSettings[].enabled"
Aby uzyskać więcej informacji na temat az vm encryption show
polecenia, zobacz az vm encryption show.
Uwaga
Jeśli usługa ADE nie jest włączona na dysku, zobacz następujący artykuł, aby dowiedzieć się, jak dołączyć dysk do maszyny wirtualnej naprawy: Rozwiązywanie problemów z maszyną wirtualną z systemem Linux przez dołączenie dysku systemu operacyjnego do maszyny wirtualnej naprawy.
Ustal, czy dysk systemu operacyjnego używa szyfrowania ADE w wersji 0 (szyfrowanie dwuprzepustowe) czy ADE w wersji 1 (szyfrowanie jednoprzepustowe)
Wersję ADE można zidentyfikować w Azure Portal, otwierając właściwości maszyny wirtualnej, a następnie wybierając pozycję Rozszerzenia, aby otworzyć blok Rozszerzenia. W bloku Rozszerzenia wyświetl numer wersji elementu AzureDiskEncryptionForLinux.
- Jeśli numer wersji to
0.*
, dysk używa szyfrowania podwójnego dostępu. - Jeśli numer wersji to
1.*
lub nowsza wersja, dysk używa szyfrowania jednoprzepustowego.
Jeśli dysk używa szyfrowania ADE w wersji 0 (szyfrowanie dwuprzepustowe), użyj metody 3 , aby odblokować dysk.
Określanie, czy dysk systemu operacyjnego jest zarządzany, czy niezarządzany
Jeśli nie wiesz, czy dysk systemu operacyjnego jest zarządzany, czy niezarządzany, zobacz Określanie, czy dysk systemu operacyjnego jest zarządzany, czy niezarządzany.
Jeśli dysk systemu operacyjnego jest dyskiem niezarządzanym, wykonaj kroki opisane w metodzie 3 , aby odblokować dysk.
Wybierz metodę odblokowywania zaszyfrowanego dysku
Wybierz jedną z następujących metod odblokowywania zaszyfrowanego dysku:
- Jeśli dysk jest zarządzany i szyfrowany przy użyciu usługi ADE w wersji 1, a zasady infrastruktury i firmy umożliwiają przypisanie publicznego adresu IP do naprawy maszyny wirtualnej, użyj metody 1: automatyczne odblokowywanie zaszyfrowanego dysku za pomocą polecenia az vm repair.
- Jeśli dysk jest zarządzany i szyfrowany przy użyciu usługi ADE w wersji 1, ale zasady infrastruktury lub firmy uniemożliwiają przypisanie publicznego adresu IP do naprawy maszyny wirtualnej, użyj metody 2: Odblokuj zaszyfrowany dysk za pomocą pliku Klucz w woluminie BEK. Innym powodem wybrania tej metody jest brak uprawnień do tworzenia grupy zasobów na platformie Azure.
- Jeśli któraś z tych metod nie powiedzie się lub dysk jest niezarządzany lub zaszyfrowany przy użyciu usługi ADE w wersji 1 (szyfrowanie z podwójnym przekazywaniem), wykonaj kroki opisane w metodzie 3 , aby odblokować dysk.
Metoda 1. Automatyczne odblokowywanie zaszyfrowanego dysku przy użyciu polecenia az vm repair
Ta metoda opiera się na poleceniach az vm repair , aby automatycznie utworzyć naprawczą maszynę wirtualną, dołączyć dysk systemu operacyjnego nieudanej maszyny wirtualnej z systemem Linux do tej maszyny wirtualnej naprawy, a następnie odblokować dysk, jeśli jest zaszyfrowany. Ta metoda wymaga użycia publicznego adresu IP na potrzeby naprawy maszyny wirtualnej i odblokowuje zaszyfrowany dysk niezależnie od tego, czy klucz ADE jest nieopakowany, czy opakowywany przy użyciu klucza szyfrowania klucza (KEK).
Aby naprawić maszynę wirtualną przy użyciu tej zautomatyzowanej metody, wykonaj kroki opisane w artykule Napraw maszynę wirtualną z systemem Linux przy użyciu poleceń naprawy maszyny wirtualnej platformy Azure.
Jeśli infrastruktura i zasady firmy nie zezwalają na przypisywanie publicznego adresu IP lub jeśli az vm repair
polecenie nie odblokuje dysku, przejdź do następnej metody.
Metoda 2. Odblokowywanie zaszyfrowanego dysku za pomocą pliku klucza w woluminie BEK
Aby ręcznie odblokować i zainstalować zaszyfrowany dysk, wykonaj następujące kroki:
-
Podczas tworzenia maszyny wirtualnej do naprawy należy dołączyć zaszyfrowany dysk. Dzieje się tak, ponieważ system wykrywa, że dołączony dysk jest zaszyfrowany. W związku z tym pobiera klucz ADE z magazynu kluczy platformy Azure, a następnie tworzy nowy wolumin o nazwie "BEK VOLUME" do przechowywania pliku klucza.
Zidentyfikuj plik nagłówka w partycji rozruchowej zaszyfrowanego systemu operacyjnego.
Odblokuj zaszyfrowany dysk przy użyciu pliku klucza ADE i pliku nagłówka.
Zainstaluj partycję: LVM, RAW lub non-LVM.
Tworzenie naprawczej maszyny wirtualnej
Utwórz dysk na podstawie migawki. W przypadku nowego dysku wybierz tę samą lokalizację i strefę dostępności co problematyczna maszyna wirtualna, którą chcesz naprawić.
Utwórz maszynę wirtualną, która jest oparta na następujących wytycznych:
- W Azure Marketplace wybierz ten sam obraz dla maszyny wirtualnej naprawy, która została użyta dla maszyny wirtualnej, która uległa awarii. (Wersja systemu operacyjnego powinna być taka sama).
- Wybierz rozmiar, który przydziela maszynie wirtualnej co najmniej 8 GB pamięci.
- Przypisz tę nową maszynę wirtualną do tej samej grupy zasobów, regionu i ustawień dostępności, które zostały użyte dla nowego dysku utworzonego w kroku 2.
Na stronie Dyski kreatora Tworzenie maszyny wirtualnej dołącz nowy dysk (utworzony właśnie na podstawie migawki) jako dysk danych.
Ważna
Ponieważ ustawienia szyfrowania są wykrywane tylko podczas tworzenia maszyny wirtualnej, upewnij się, że dysk jest dołączany podczas tworzenia maszyny wirtualnej. Umożliwia to automatyczne dodawanie woluminu zawierającego plik klucza ADE do maszyny wirtualnej.
Odinstaluj wszystkie zainstalowane partycje na zaszyfrowanym dysku
Po utworzeniu maszyny wirtualnej naprawy SSH do maszyny wirtualnej naprawy, zaloguj się przy użyciu odpowiednich poświadczeń, a następnie podnieś poziom konta do katalogu głównego:
sudo -s
Wyświetl listę dołączonych urządzeń przy użyciu polecenia lsblk . W danych wyjściowych powinno zostać wyświetlonych wiele dołączonych dysków. Te dyski obejmują aktywny dysk systemu operacyjnego i zaszyfrowany dysk. Mogą być wyświetlane w dowolnej kolejności.
Zidentyfikuj zaszyfrowany dysk, korzystając z następujących informacji:
- Dysk będzie miał wiele partycji
- Dysk nie wyświetli katalogu głównego ("/") jako punktu instalacji dla żadnej z jego partycji.
- Dysk będzie zgodny z rozmiarem zanotowanym podczas tworzenia go na podstawie migawki.
W poniższym przykładzie dane wyjściowe wskazują, że "sdd" jest zaszyfrowanym dyskiem. Jest to jedyny dysk, który ma wiele partycji i który nie zawiera listy "/" jako punktu instalacji.
Odinstaluj wszystkie partycje na zaszyfrowanym dysku danych, które zostały zainstalowane w systemie plików. Na przykład w poprzednim przykładzie należy odinstalować zarówno "/boot/efi"* jak i "/boot".
umount /boot/efi umount /boot
Identyfikowanie pliku klucza ADE
Aby odblokować zaszyfrowany dysk, musisz mieć plik klucza i plik nagłówka. Plik klucza jest przechowywany w woluminie BEK, a plik nagłówka znajduje się na partycji rozruchowej zaszyfrowanego dysku systemu operacyjnego.
Określ, która partycja jest woluminem BEK:
lsblk -fs | grep -i bek
Następujące przykładowe dane wyjściowe wskazują, że sdb1 jest woluminem BEK:
>sdb1 vfat BEK VOLUME 04A2-FE67
Jeśli wolumin BEK nie istnieje, utwórz ponownie maszynę wirtualną naprawy, dołączając zaszyfrowany dysk. Jeśli wolumin BEK nadal nie jest dołączany automatycznie, spróbuj użyć metody 3 , aby pobrać wolumin bek.
Utwórz katalog o nazwie "azure_bek_disk" w folderze "/mnt":
mkdir /mnt/azure_bek_disk
Zainstaluj wolumin BEK w katalogu "/mnt/azure_bek_disk". Jeśli na przykład sdb1 jest woluminem BEK, wprowadź następujące polecenie:
mount /dev/sdb1 /mnt/azure_bek_disk
Ponownie wyświetl listę dostępnych urządzeń:
lsblk -o NAME,SIZE,LABEL,PARTLABEL,MOUNTPOINT
Uwaga: Zobaczysz, że partycja, która została określona jako wolumin bek jest teraz zainstalowana w "/mnt/azure_bek_disk".
Wyświetl zawartość w katalogu "/mnt/azure_bek_disk/":
ls -l /mnt/azure_bek_disk
W danych wyjściowych powinny zostać wyświetlone następujące pliki (plik klucza ADE to "LinuxPassPhraseFileName"):
>total 1 -rwxr-xr-x 1 root root 148 Aug 4 01:04 CRITICAL_DATA_WARNING_README.txt -r-xr-xr-x 1 root root 172 Aug 4 01:04 LinuxPassPhraseFileName
Jeśli do zaszyfrowanej maszyny wirtualnej jest dołączony więcej niż jeden dysk, może zostać wyświetlonych wiele elementów "LinuxPassPhraseFileName". Wartość "LinuxPassPhraseFileName" zostanie wyliczona zgodnie z liczbą dysków w tej samej kolejności co ich numery jednostek logicznych (LUN).
Identyfikowanie pliku nagłówka
Partycja rozruchowa zaszyfrowanego dysku zawiera plik nagłówka. Użyjesz tego pliku wraz z plikiem klucza "LinuxPassPhraseFileName", aby odblokować zaszyfrowany dysk.
Użyj następującego polecenia, aby wyświetlić wybrane atrybuty dostępnych dysków i partycji:
lsblk -o NAME,SIZE,LABEL,PARTLABEL,MOUNTPOINT
Na zaszyfrowanym dysku zidentyfikuj partycję systemu operacyjnego (partycję główną). Jest to największa partycja na zaszyfrowanym dysku. W poprzednich przykładowych danych wyjściowych partycja systemu operacyjnego to "sda4". Tę partycję należy określić podczas uruchamiania polecenia odblokowywania.
W katalogu głównym ("/") struktury plików utwórz katalog, w którym ma zostać zainstalowana partycja główna zaszyfrowanego dysku. Użyjesz tego katalogu później, po odblokowaniu dysku. Aby odróżnić ją od aktywnej partycji systemu operacyjnego naprawy maszyny wirtualnej, nadaj jej nazwę "investigateroot".
mkdir /{investigateboot,investigateroot}
Na zaszyfrowanym dysku zidentyfikuj partycję rozruchu zawierającą plik nagłówka. Na zaszyfrowanym dysku partycja rozruchowa jest drugą co do wielkości partycją, która nie zawiera żadnej wartości w kolumnie LABEL lub PARTLABEL. W poprzednich przykładowych danych wyjściowych partycja rozruchowa zaszyfrowanego dysku to "sda2".
Zainstaluj partycję rozruchu określoną w kroku 4 w katalogu /investigateboot/. W poniższym przykładzie partycja rozruchowa zaszyfrowanego dysku to sda2. Jednak lokalizacja w systemie może się różnić.
mount /dev/sda2 /investigateboot/
Jeśli instalowanie partycji nie powiedzie się i zwraca komunikat o błędzie "nieprawidłowy typ fs, zła opcja, nieprawidłowe superblokowanie", spróbuj ponownie za pomocą
mount -o nouuid
polecenia, jak w poniższym przykładzie:mount -o nouuid /dev/sda2 /investigateboot/
Wyświetl listę plików znajdujących się w katalogu /investigateboot/. Podkatalog "luks" zawiera plik nagłówka, który musi zostać odblokowany.
Wyświetl listę plików znajdujących się w katalogu /investigateboot/luks/. Plik nagłówka nosi nazwę "osluksheader".
ls -l /investigateboot/luks
Użyj pliku klucza ADE i pliku nagłówka, aby odblokować dysk
Użyj polecenia ,
cryptsetup luksOpen
aby odblokować partycję główną na zaszyfrowanym dysku. Jeśli na przykład ścieżka do partycji głównej zawierającej zaszyfrowany system operacyjny to /dev/sda4 i chcesz przypisać nazwę "osencrypt" do odblokowanych partycji, uruchom następujące polecenie:cryptsetup luksOpen --key-file /mnt/azure_bek_disk/LinuxPassPhraseFileName --header /investigateboot/luks/osluksheader /dev/sda4 osencrypt
Po odblokowaniu dysku odinstaluj partycję rozruchu zaszyfrowanego dysku z katalogu /investigateboot/:
umount /investigateboot/
Uwaga: Musisz zainstalować tę partycję później w innym katalogu.
Następnym krokiem jest zainstalowanie właśnie odblokowanego partycji. Metoda używana do instalowania partycji zależy od struktury mapowania urządzeń (LVM lub innej niż LVM), która jest używana przez dysk.
Wyświetl listę informacji o urządzeniu wraz z typem systemu plików:
lsblk -o NAME,FSTYPE
Zobaczysz odblokowaną partycję i przypisaną do niej nazwę (w naszym przykładzie ta nazwa to "osencrypt"):
- W przypadku partycji LVM, takiej jak "LVM_member", zobacz Instalowanie partycji LVMRAW lub innej niż LVM.
- W przypadku partycji innej niż LVM zobacz Instalowanie partycji innej niż LVM.
Zainstaluj odblokowaną partycję i wprowadź środowisko chroot (tylko LVM)
Jeśli dyski korzystają z platformy mapowania urządzeń LVM, musisz wykonać dodatkowe kroki, aby zainstalować dysk i wprowadzić środowisko chroot. Aby używać narzędzia chroot razem z zaszyfrowanym dyskiem, odblokowana partycja ("osencrypt") i jej woluminy logiczne muszą być rozpoznawane jako grupa woluminów o nazwie rootvg. Jednak domyślnie naprawa partycji systemu operacyjnego maszyny wirtualnej i jej woluminów logicznych jest już przypisana do grupy woluminów o nazwie rootvg. Musimy rozwiązać ten konflikt, zanim będziemy mogli kontynuować.
Użyj polecenia ,
pvs
aby wyświetlić właściwości woluminów fizycznych LVM. Mogą zostać wyświetlone komunikaty ostrzegawcze, jak w poniższym przykładzie, wskazujące, że odblokowana partycja ("/dev/mapper/osencrypt") i inne urządzenie używają zduplikowanych uniwersalnie unikatowych identyfikatorów (UUID). Alternatywnie mogą zostać wyświetlone dwie partycje przypisane do narzędzia rootvg.Uwaga
Chcesz, aby tylko odblokowana partycja ("osencrypt") została przypisana do grupy woluminów rootvg, aby można było uzyskać dostęp do jej woluminów logicznych za pośrednictwem narzędzia chroot. Aby rozwiązać ten problem, tymczasowo zaimportujesz partycję do innej grupy woluminów i aktywujesz tę grupę woluminów. Następnie zmienisz nazwę bieżącej grupy woluminów rootvg. Dopiero po wprowadzeniu środowiska chroot zmienisz nazwę grupy woluminów zaszyfrowanego dysku na "rootvg".
Przypisywanie odblokowanej partycji (przykład)
Zaimportuj nowo odblokowaną partycję do nowej grupy woluminów. W tym przykładzie tymczasowo nazywamy nową grupę woluminów "rescuemevg". Zaimportuj nowo odblokowaną partycję do nowej grupy woluminów. W tym przykładzie tymczasowo nazywamy nową grupę woluminów "rescuemevg".
Aktywuj nową grupę woluminów:
vgimportclone -n rescuemevg /dev/mapper/osencrypt vgchange -a y rescuemevg
Zmień nazwę starej grupy woluminów rootvg. W tym przykładzie użyjemy nazwy "oldvg".
vgrename rootvg oldvg
Uruchom polecenie
lsblk -o NAME,SIZE,LABEL,PARTLABEL,MOUNTPOINT
, aby przejrzeć dostępne urządzenia. Powinny zostać wyświetlone obie grupy woluminów wymienione przez przypisane im nazwy.Zainstaluj wolumin logiczny rescuemevg/rootlv w katalogu /investigateroot/ bez użycia zduplikowanych identyfikatorów UUID:
umount /investigateboot mount -o nouuid /dev/rescuemevg/rootlv /investigateroot/
Teraz partycja główna maszyny wirtualnej, która uległa awarii, jest odblokowana i zainstalowana. Aby rozwiązać problemy, powinien być dostępny dostęp do partycji głównej. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z rozruchem maszyny wirtualnej z systemem Linux z powodu błędów systemu plików.
Jeśli jednak chcesz użyć narzędzia chroot do rozwiązywania problemów, kontynuuj, wykonując poniższe kroki.
Zainstaluj partycję rozruchu zaszyfrowanego dysku w katalogu /investigateroot/boot/ bez użycia zduplikowanych identyfikatorów UUID. (Pamiętaj, że partycja rozruchowa zaszyfrowanego dysku jest drugą co do wielkości, która nie ma przypisanej etykiety partycji). W naszym bieżącym przykładzie partycja rozruchowa zaszyfrowanego dysku to sda2.
mount -o nouuid /dev/sda2 /investigateroot/boot
Zainstaluj partycję systemu EFI zaszyfrowanego dysku w katalogu /investigateroot/boot/efi. Tę partycję można zidentyfikować za pomocą jej etykiety. W naszym bieżącym przykładzie partycja systemu EFI to sda1.
mount /dev/sda1 /investigateroot/boot/efi
Zainstaluj pozostałe nieinstalowane woluminy logiczne w grupie woluminów zaszyfrowanego dysku do podkatalogów "/investigateroot/":
mount -o nouuid /dev/mapper/rescuemevg-varlv /investigateroot/var mount -o nouuid /dev/mapper/rescuemevg-homelv /investigateroot/home mount -o nouuid /dev/mapper/rescuemevg-usrlv /investigateroot/usr mount -o nouuid /dev/mapper/rescuemevg-tmplv /investigateroot/tmp mount -o nouuid /dev/mapper/rescuemevg-optlv /investigateroot/opt
Zmień usługę Active Directory na zainstalowaną partycję główną na zaszyfrowanym dysku:
cd /investigateroot
Wprowadź następujące polecenia, aby przygotować środowisko chroot:
mount -t proc proc proc mount -t sysfs sys sys/ mount -o bind /dev dev/ mount -o bind /dev/pts dev/pts/ mount -o bind /run run/
Wprowadź środowisko chroot:
chroot /investigateroot/
Zmień nazwę grupy woluminów rescuemevg na "rootvg", aby uniknąć konfliktów lub możliwych problemów z grub i initramfs. Zachowaj tę samą konwencję nazewnictwa podczas ponownego generowania initramfs. Ze względu na zmiany nazwy sieci wirtualnej należy pracować na maszynie wirtualnej ratowniczej. Po ponownym uruchomieniu nie będzie to już przydatne. Maszynę wirtualną ratowniczą należy uznać za tymczasową maszynę wirtualną.
vgrename rescuemevg rootvg
Rozwiązywanie problemów w środowisku chroot. Możesz na przykład odczytać dzienniki lub uruchomić skrypt. Aby uzyskać więcej informacji, zobacz Wykonywanie poprawek w środowisku chroot.
Zainstaluj odblokowany dysk i wprowadź środowisko chroot (RAW/non-LVM)
W katalogu głównym ("/") struktury plików utwórz katalog, w którym ma zostać zainstalowana partycja główna zaszyfrowanego dysku. Użyjesz tego katalogu później, po odblokowaniu dysku. Aby odróżnić ją od aktywnej partycji systemu operacyjnego naprawy maszyny wirtualnej, nadaj jej nazwę "investigateroot".
mkdir /{investigateboot,investigateroot}
Zainstaluj nowo odblokowaną partycję ("osencrypt") w katalogu /investigateroot/:
mount /dev/mapper/osencrypt /investigateroot/
Jeśli instalowanie partycji nie powiedzie się i zwraca komunikat o błędzie "nieprawidłowy typ fs, zła opcja, nieprawidłowa superblok", spróbuj ponownie za pomocą polecenia instalacji
-o nouuid
:mount -o nouuid /dev/mapper/osencrypt /investigateroot/
Spróbuj wyświetlić zawartość katalogu /investigateroot/, aby sprawdzić, czy zainstalowana partycja jest teraz odblokowana:
ls /investigateroot/
Teraz partycja główna maszyny wirtualnej, która uległa awarii, jest odblokowana i zainstalowana, możesz uzyskać dostęp do partycji głównej, aby rozwiązać problemy. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z rozruchem maszyny wirtualnej z systemem Linux z powodu błędów systemu plików.
Jeśli jednak chcesz użyć narzędzia chroot do rozwiązywania problemów, przejdź do następnego kroku.
Użyj polecenia
lsblk -o NAME,SIZE,LABEL,PARTLABEL,MOUNTPOINT
, aby przejrzeć dostępne urządzenia. Zidentyfikuj partycję rozruchową na zaszyfrowanym dysku jako drugą co do wielkości partycję bez etykiety.Zainstaluj partycję rozruchu na zaszyfrowanym dysku w katalogu "/investigateroot/boot/", jak w poniższym przykładzie:
mount /dev/sdc2 /investigateroot/boot/
Zmień usługę Active Directory na zainstalowaną partycję główną na zaszyfrowanym dysku:
cd /investigateroot
Wprowadź następujące polecenia, aby przygotować środowisko chroot:
mount -t proc proc proc mount -t sysfs sys sys/ mount -o bind /dev dev/ mount -o bind /dev/pts dev/pts/ mount -o bind /run run/
Wprowadź środowisko chroot:
chroot /investigateroot/
Rozwiązywanie problemów w środowisku chroot. Możesz odczytywać dzienniki lub uruchamiać skrypt. Aby uzyskać więcej informacji, zobacz Wykonywanie poprawek w środowisku chroot.
Metoda 3. Ponowne szyfrowanie dysku w celu pobrania pliku klucza i odblokowania zaszyfrowanego dysku
Utwórz maszynę wirtualną do naprawy i dołącz kopię zablokowanego dysku do maszyny wirtualnej naprawy:
- Aby uzyskać informacje o dysku zarządzanym, zobacz Rozwiązywanie problemów z maszyną wirtualną z systemem Linux, dołączając zarządzany dysk systemu operacyjnego do maszyny wirtualnej do naprawy.
- W przypadku dysku niezarządzanego użyj Eksplorator usługi Storage, aby utworzyć kopię dysku systemu operacyjnego maszyny wirtualnej, którego dotyczy problem. Aby uzyskać więcej informacji, zobacz Dołączanie dysku niezarządzanego do maszyny wirtualnej w celu naprawy w trybie offline.
Po dołączeniu zaszyfrowanego dysku jako dysku danych do maszyny wirtualnej do naprawy użyj klucza Key Vault i klucza szyfrowanego (KEK), które były używane dla oryginalnej maszyny wirtualnej do ponownego szyfrowania tego dysku danych. Ten proces spowoduje automatyczne wygenerowanie i zainstalowanie woluminu bek przy użyciu pliku klucza BKE na maszynie wirtualnej naprawy. Nie można użyć opcji EncryptFormatAll , ponieważ rozszerzenie ADE może zaszyfrować sektor rozruchu na dysku danych.
Jeśli oryginalna maszyna wirtualna jest szyfrowana za pomocą opakowanego zestawu BEK, uruchom następujące polecenie.
az vm encryption enable -g "resource group" --name "VMName" --disk-encryption-keyvault "keyvault" --key-encryption-key "kek" --volume-type "data"
Jeśli oryginalna maszyna wirtualna jest szyfrowana przez zestaw BEK, uruchom następujące polecenie:
az vm encryption enable -g "resource group" --name "VMName" --disk-encryption-keyvault "keyvault" --volume-type "data"
Aby określić wartości dla funkcji disk-encryption-keyvault i key-encryption-key, uruchom następujące polecenie:
az vm encryption show --name "OriginalVmName" --resource-group "ResourceGroupName"
W poniższej tabeli znajdź wartości w danych wyjściowych. Jeśli wartość keyEncryptionKey jest pusta, maszyna wirtualna jest szyfrowana za pomocą klucza BEK.
Parametr Wartość w danych wyjściowych Przykład disk-encryption-keyvault diskEncryptionKey:id /subscriptions/deb73ff9-0000-0000-0000-0000c7a96d37/resourceGroups/Thomas/providers/Microsoft.KeyVault/vaults/ContosoKeyvault klucz szyfrowania klucza keyEncryptionKey:KeyURI https://ContosoKeyvault.vault.azure.net/keys/mykey/00000000987145a3b79b0ed415fa0000
Uruchom następujące polecenie, aby sprawdzić, czy nowy dysk jest dołączony:
lsblk -f
Jeśli nowy dysk jest dołączony, przejdź do pozycji Identyfikowanie pliku klucza ADE w woluminie BEK, a następnie wykonaj podane kroki, aby odblokować dysk.
Następne kroki
Jeśli masz problemy z nawiązywaniem połączenia z maszyną wirtualną, zobacz Rozwiązywanie problemów z połączeniami SSH z maszyną wirtualną platformy Azure.
Skontaktuj się z nami, aby uzyskać pomoc
Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla