Automatycznie montuj dysk VHD / VHDX podczas uruchamiania systemu Windows

Windows 7 i Windows Server 2008 R2 mają teraz możliwość tworzenia i łączenia pliki dysków wirtualnych (Vhd/ Vhdx) bezpośrednio z konsoli zarządzania dyskami. Takie dyski wirtualne w systemie wyglądają jak osobne dyski fizyczne i mogą służyć do przechowywania dowolnych danych. Istotną wadą takich dysków jest to, że przy każdym ponownym uruchomieniu systemu Windows należy ręcznie montować wszystkie pliki VHD / VHDX za każdym razem. Ponadto tylko administratorzy komputerów mają prawo montować pliki wirtualnego dysku twardego; zwykli użytkownicy nie mogą niezależnie montować pliku VHDx (za każdym razem, gdy administrator musi interweniować).

W tym artykule pokażemy, jak automatycznie zamontować plik vhd / vhdx podczas uruchamiania systemu, aby dyski wirtualne były dostępne dla zwykłych użytkowników (którzy nie mają uprawnień administratora)

System Windows nie ma wbudowanej możliwości montowania plików VHD podczas ponownego uruchamiania systemu, więc będziemy musieli opracować własny mechanizm montowania. Pomoże nam to harmonogram zadań Windows i użyteczność diskpart.

Utwórz plik tekstowy (C: \ Scripts \ attach_vhd.txt) z następującym kodem:

wybierz plik vdisk = "C: \ vhd2 \ w10vhd.vhdx"
dołącz vdisk
wybierz część 1
przypisz literę = K.
wyjście

gdzie:
C.: \vhd2 \w10vhd.vhdx - pełna ścieżka do obrazu dysku VHD lub VHDX
K. -litera dysku, która ma zostać przypisana do obrazu VHD

Ten skrypt montuje określony plik vhd, wybiera na nim pierwszą partycję i przypisuje mu określoną literę dysku. Jeśli na dysku jest kilka partycji, zmień odpowiednio kod, wskazując numer partycji, którą chcesz połączyć.

Uwaga. Ze względów bezpieczeństwa zaleca się zmianę uprawnień NTFS do pliku „C: \ Scripts \ attach_vhdx.txt”, aby zwykli użytkownicy nie mogli go zmienić.

Uruchom Harmonogram zadań systemu Windows (Taskschd.msc) i utwórz nowe zadanie harmonogramu (Działania -> Utwórz zadanie) Skonfiguruj go w następujący sposób:

  • Tab Ogólne:
    • Podaj nazwę zadania (Imię): automountvhdx;
    • Pamiętaj, że powinien rozpocząć się niezależnie od tego, czy użytkownik jest zalogowany, czy nie (Uruchom czy użytkownik jest zalogowany na lub nie);
    • Określ, że zadanie powinno działać z maksymalnymi uprawnieniami ( Uruchom z najwyższymi uprawnieniami);
  • Tab Wyzwalacze:
    • Dodaj nowy wyzwalacz uruchamiania podczas rozruchu (At Uruchomienie) z ustawieniami domyślnymi.
  • Tab Działania:
    • Utwórz nową akcję Nowy:
      • Rozpoczęcie programu działań (Uruchom program);
      • Program / skrypt: diskpart ;
      • Jako argumenty programu wskazujemy: /sC.: \Skrypty\załącznikvhd.txt„;

  • Tab Warunki odznacz opcję „Uruchom zadanie tylko wtedy, gdy komputer jest zasilany prądem przemiennym„.
  • Zapisz zmiany. System poprosi Cię o podanie szczegółów konta, na którym zadanie zostanie uruchomione (konto musi mieć uprawnienia administratora).

Aby zadanie było uruchamiane w imieniu systemu, otwórz jego właściwości ponownie i na karcie Ogólne naciśnij przycisk Zmień Użytkownik lub Grupa. W oknie wyboru użytkownika określ system i zapisz zmiany.

Możesz utworzyć zadanie harmonogramu za pomocą PowerShell lub schtasks:

schtasks / create / tn "automountvhdx" / tr "diskpart.exe / s 'c: \ Scripts \ attach_vhdx.txt'" / sc SYSTEM ONLOGON / ru

Teraz przy następnym uruchomieniu komputera określony wirtualny dysk VHDx zostanie automatycznie podłączony.

Uwaga. Z reguły napęd nie pojawia się na liście dostępnych napędów natychmiast, ale po 30-60 sekundach od załadowania systemu Windows.

Jeśli chcesz, aby wirtualny dysk vhdx został zamontowany nie w osobnej literze dysku, ale w folderze, zmień kod w pliku c: \ Scripts \ attach_vhd.txt na:

wybierz plik vdisk = "C: \ vhd2 \ w10vhd.vhdx"
dołącz vdisk
wybierz część 1
przypisanie mount = "c: \ mount"
wyjście

W wyniku tego polecenia dysk wirtualny zostanie zamontowany w oddzielnym katalogu na dysku fizycznym (zawartość pliku vhdx zostanie wyświetlona w tym katalogu).

Możesz zamontować nie tylko lokalny dysk VHD, ale także dysk z katalogu sieciowego przez ścieżkę UNC.

wybierz vdisk fils = "\\ 192.168.1.100 \ share \ shared.vhdx"

Aby przetestować działanie kodów skryptu do automatycznego łączenia dysków wirtualnych, nie trzeba ponownie uruchamiać komputera za każdym razem, wystarczy uruchomić polecenie w wierszu polecenia z uprawnieniami administratora:

diskpart / s c: \ Scripts \ attach_vhdx.txt

Jeśli kod nie zawiera błędów, polecenie połączy plik vhdx, a nowy dysk pojawi się w systemie.

Te metody automatycznego łączenia dysków wirtualnych działają zarówno w systemie Windows 10, jak i Windows 8.1 i Win 7.

Jeśli bardziej podoba Ci się PowerShell, możesz automatycznie zamontować dysk VHDX przy użyciu następującego skryptu PoSh podczas uruchamiania (do zarządzania dyskami użyj poleceń cmdlet z modułu Storage):

mount-vhd -path C: \ vhd2 \ w10vhd.vhdx -PassThru | Get-Disk | Get-Partition | Set-Partition -NewDriveLetter G