Przełącz dyski Windows / Linux

0

Mam laptopa (ASUS harman / kardon), który ma dwa dyski, mały dysk SSD i dysk twardy 1 TB. Przyszedł z systemem Windows zainstalowanym na dysku SSD, a ja zainstalowałem Linux na dysku twardym.

Ponieważ prawie wyłącznie używam partycji linux, czy istnieje sposób, aby po prostu przełączyć partycję linux na inny dysk i umieścić system Windows na dysku twardym (nie chcę stracić licencji systemu Windows).

Chciałbym zachować obraz Linuksa taki, jaki jest, nic mi nie będzie, jeśli będę musiał przywrócić okna od zera.

Rozumiem, że mogę potrzebować dodatkowej przestrzeni i mam wystarczająco duży dysk zewnętrzny, aby pomieścić obie partycje.

Czy można zamienić Linux na SSD i Windows na HDD bez konieczności rozpoczynania od nowa na obu?

Próba 1

Zmniejszyłem partycję Linux na dysku twardym, aby zrobić miejsce na partycję Windows. Następnie utworzyłem dysk instalacyjny systemu Windows, aby zainstalować system Windows na dysku twardym. Niestety, ten dysk instalacyjny przejmuje drugą instalację systemu Windows. Daje mi także tylko przycisk „Zainstaluj teraz”, co jest bardzo bezużyteczne, ponieważ nie mam pojęcia, gdzie będzie instalowany.

Wygląda na to, że muszę fizycznie usunąć dysk SSD, zapisać moje rzeczy z Linuksa na dysku twardym gdzie indziej, a następnie uruchomić instalację systemu Windows i pozwolić mu przejąć kontrolę (bo jakiego rodzaju użytkownik i tak potrzebuje kontroli systemu operacyjnego?). Jakieś inne pomysły? Czy istnieje sposób, aby zmusić system Windows do zainstalowania w określonym miejscu?

Aktualizacja

Zrobiłem partycję na dysku twardym i udało mi się na nim zainstalować system Windows. Następnie sformatowałem dysk SSD (pozostawiając nienaruszoną partycję rozruchową) i użyłem rsync (z powiązanego pytania), aby skopiować wszystkie dane ze starego dysku na nowy dysk.

Potem uruchomiłem sudo grub-install <SSD>, ale podczas uruchamiania grub pobiera tylko instalację na dysku twardym (a także menedżera rozruchu systemu Windows, który zawsze ma). Czy brakuje mi kroku? Czy muszę w jakiś sposób uruchomić grub-install po uruchomieniu z nowej „instalacji”? Jeśli tak, jak mam go uruchomić?

Edycja: Wygląda na to, że muszę chrootować do nowej „instalacji”. Jednak robiąc to, tracę dysk (/ dev / nvme0n1), na którym chcę zainstalować grub. Czy istnieje sposób na skonfigurowanie gruba, aby po uruchomieniu się i dysku ten istniał (wiem, że będzie), będzie działał?

Brydon Gibson
źródło
W przypadku części dotyczącej systemu Linux zobacz to pytanie lub to. Jednak mniej znam się na robieniu tego rodzaju rzeczy w systemie Windows. Ponadto musisz być bardzo świadomy swojego trybu uruchamiania (BIOS / CSM / legacy vs. EFI / UEFI), ponieważ może być konieczne odpowiednie dostosowanie ustawień modułu ładującego rozruch.
Rod Smith
za to, co jest warte, przekonasz się, że licencja na system Windows jest powiązana z maszyną, a nie z dyskiem twardym ... więc nie stracisz go, przenosząc dysk twardy.
Stese,
To dobra wiadomość. Nadal wygląda na to, że muszę fizycznie usunąć dysk SSD z mojego komputera, aby to zrobić, co jest trochę niefortunne
Brydon Gibson
Czy nie możesz po prostu utworzyć maszyny wirtualnej na komputerze z systemem Windows, a następnie załadować na nią obraz systemu Linux? Pewnie oznacza to, że nie masz problemów z licencjami i oba mogą korzystać z dysku SSD.
David Golding
@DavidGolding Mógłbym, jednak Windows czasami mnie bardzo denerwuje, więc chciałbym się w nim uruchamiać tylko wtedy, gdy absolutnie potrzebuję Windows.
Brydon Gibson

Odpowiedzi:

0

W końcu udało mi się to zrobić i zdecydowanie wymagało to dużo pracy, ale zostało wykonane i wydaje się, że działa dobrze (i znacznie szybciej). Pozostaje tylko poradzić sobie z zamianą, która wciąż znajduje się na dysku twardym.

Krok 1:

Stwórz dysk Linux na żywo, uruchom go i zmniejsz dysk twardy, aby pozostawić wystarczająco dużo miejsca na instalację systemu Windows (nie martw się o dokładne dopasowanie rozmiaru, ponieważ rozmiar partycji zostanie ostatecznie zmieniony). Użyłem dysku Live Linux, ponieważ lubię gparted i nie mogłem tego zrobić z działającym systemem Linux, ponieważ ten dysk został zamontowany i nie można go zmienić.

Uwaga - Nie można przenieść partycji Windows po zainstalowaniu systemu Windows. Założyłem, że możesz. Oznacza to, że jeśli partycja linuksowa znajduje się na początku dysku twardego (tak, jak ja to miałem), to miejsce zostanie zmarnowane. Zalecam przeniesienie wszystkiego na koniec dysku, a następnie umieszczenie partycji Windows na początku, ponieważ zawsze można ją rozszerzyć (jednak zajmuje to sporo czasu)

Krok 2:

Utwórz dysk rozruchowy systemu Windows - można to zrobić w witrynie systemu Windows . Idealnie byłoby to na drugim dysku flash, ponieważ kiedy (nie jeśli) coś pójdzie nie tak i musisz zacząć od nowa, nie musisz tworzyć nowego dysku linux.

Krok 3:

Zainstaluj system Windows, kliknij „Zainstaluj teraz”, a następnie przejdź do momentu, aż pozwoli ci wybrać partycję, wybierz partycję utworzoną podczas zmiany rozmiaru dysku twardego (nie trzeba nawet formatować, Windows zrobi swoje, z wolnym miejscem na napęd). Pozwól systemowi Windows zrobić to samo. Po pierwszym zalogowaniu do nowej instalacji systemu Windows zweryfikuje klucz licencyjny.

Krok 4:

Skopiuj wszystko, co chcesz z oryginalnej instalacji systemu Windows.

Krok 5:

Uruchom ponownie system Linux z dysku na żywo (nie z dysku zainstalowanego na dysku twardym). Zniszcz dysk SSD i utwórz partycję ext4. Pamiętaj, aby nie dotykać partycji FAT32 na początku, jest to partycja rozruchowa i jest to ważne.

Krok 6:

zsynchronizuj wszystko na nowym dysku. Wymaga to zamontowania starego dysku i nowego dysku oraz zsynchronizowania wszystkiego (niektóre rzeczy mogą się nie powieść, np. / Proc / devices, w porządku, ale upewnij się, że jesteś rootem). To wygląda jak:

mount /dev/sda2 oldDisk/ #the existing linux partition
mount /dev/nvme0n1p2 newDisk/ #The new, empty partition on SSD
rsync -avz oldDisk/ newDisk

Krok 7:

Uruchom ponownie z oryginalną instalacją systemu Linux (może to również działać na dysku flash na żywo).

mount /dev/nvme0n1p2 /mnt #Mount the new drive somewhere
mount --bind /dev /mnt/dev/
grub-install --boot-device=/mnt /dev/nvme0n1 #note this is the whole device, not just the patition (akin to /dev/sda)
update-grub #so the new stuff is picked up.

Jest to przedstawione tutaj .

To powinno być wszystko. Od tego czasu wyczyściłem instalację Linuksa. Menedżer rozruchu systemu Windows wygląda, jakby w końcu był zadowolony z siebie (wydaje mi się, że wystarczy kilka cykli restartu).

Pozostawia starą instalację linuksową, którą muszę jeszcze wyczyścić. Nie wiem też, jak wyczyścić menedżera rozruchu systemu Windows, ponieważ to również trochę popsuło brakujące instalacje systemu Windows, ale przynajmniej uruchamia się.

Brydon Gibson
źródło
Wydaje mi się, że jest to rozwiązanie problemu, który nie istnieje. VM rozwiązane przed laty i jest o wiele łatwiejsze do rozwiązania w przypadku awarii systemu Linux.
David Golding
Dedykowany system Linux i maszyna wirtualna Linux działająca w systemie Windows to bardzo różne rzeczy. Na przykład - jak działa sieć? Czy muszę przejść do systemu Windows i zająć się zaporą ogniową oprócz wprowadzania zmian w systemie Linux? Ponadto system Windows zajął 118 dysków SSD o pojemności 128 GB, pozostawiając niewiele miejsca na maszynę wirtualną z systemem Linux.
Brydon Gibson