Mam dysk z dwiema partycjami: sda1 i sda2. Chciałbym zmienić liczbę sda1 na sda2 i sda2 na sda1.
Jest to możliwe, ale nie pamiętam procedury. tzn. moją pierwszą partycją będzie sda2, a drugą sda1, więc muszę określić kolejność ręczną, a nie automatyczną, jak w fdisk -> x -> f.
Jak mogę zmienić zamówienie? Przydatne są również linki do instrukcji lub samouczków.
Dzięki.
Powód: Mam aplikację, która wymaga odczytu danych z sda1, ale dane są w sda2. Zmiana tabeli partycji jest szybszym rozwiązaniem tego problemu. System nie jest krytyczny, ale nie chcę go zatrzymywać zbyt długo.
Aktualizacja : fdisk w wersji OpenBSD zawiera tę funkcjonalność.
Odpowiedzi:
Do Twojej wiadomości, to zły pomysł i możesz wszystko stracić. Jeśli nadal chcesz to zrobić, wykonaj następujące czynności:
Użyj
sfdisk
narzędzia: Najpierw wykonaj kopię zapasową tabeli partycji za pomocąWięc idź po to:
Zobaczysz coś takiego
Teraz prosi o podanie nowych szczegółów dla partycji „sda1”. Musisz więc podać tutaj numery sda2. Wstawiam tutaj „6 1012” i naciskam Enter:
Teraz sprawdź, czy liczby wydrukowane po naciśnięciu Enter są dokładnie takie same jak te wydrukowane wcześniej dla sda2. Jeśli jest w porządku, kontynuuj podawanie nowych numerów dla sda2:
Tym razem wystarczyło wpisać „0” w moim przypadku - ale musisz się upewnić, że twoje numery nie są pomieszane.
Następnie przejdź do pozostałych partycji w ten sam sposób. Jeśli już dotarłeś do końca dysku, wystarczy nacisnąć Enter. Na koniec sprawdź ponownie, czy wszystkie liczby są prawidłowe i zapisz tabelę partycji (lub nie). Jeśli coś pomieszałeś, spójrz na
man sfdisk
opisy opcji „-d”, „-O” i „-I”.Zwróć też uwagę, że po dokonaniu szalonych zmian może być konieczne uruchomienie synchronizacji, aby partycje zostały ponownie odczytane, zanim spróbujesz je zamontować.
źródło
testdisk
pakiet w bazie danych oprogramowania swojej dystrybucji.Po prostu zrobiłem to w łatwiejszy sposób:
zostaw kopię dla bezpieczeństwa
teraz edytuj sdb.new zmieniając TYLKO kolejność wierszy i numery partycji, jak w moim przypadku:
od
do
następnie wrzucić go z powrotem do tabeli partycji dysku?
Moja sekwencja numeracji została zniekształcona po tym, jak zmniejszyłem i przesunąłem w prawo jedyną partycję (sdb1), aby dodać dwie mniejsze partycje na początku dysku za pomocą
gparted
.Jeśli ostatnie polecenie nie działa, tak jak w moim przypadku, zmień je na:
źródło
Trzeba będzie przepisać tabelę partycji dysku, aby odwrócić kolejność, co jest nieco ryzykowne. Na twoim miejscu naprawiłbym problem, który sprawia, że chcesz zamienić kolejność nazw urządzeń i zostawić partycje w spokoju.
Na przykład, jeśli masz skrypt, który musi być uruchomiony na obu komputerach i chcesz, aby uzyskał dostęp do tego samego urządzenia, utwórz link w innym katalogu (nie / dev), który ma taką samą nazwę na obu serwerach, ale linki do / dev / sda1 na jednym i / dev / sda2 na drugim.
Możesz użyć dowolnego edytora partycji (
fdisk
lubcfdisk
) do edycji partycji, ale musisz albo zapisać bieżące ustawienia, albo zrobić zdjęcie ekranu. Usuń dwie partycje, a następnie utwórz je ręcznie, podając wszystkie prawidłowe wartości. Uruchom system z LiveCD, aby to zrobić.źródło
Po pierwsze, cała ta sprawa jest ćwiczeniem polegającym na staraniu się jak najlepiej zepsuć, ale tak czy inaczej, oto inne podejście, które możesz wypróbować.
Uwaga: Nie wspomniałeś o tym, z którego systemu startujesz, a to rozwiązanie, i nikt inny w tym momencie, kiedy piszę to, zajmuje się tym, co musisz zrobić, aby LILO lub GRUB działały poprawnie.
/dev/sda1
i/dev/sda2
są urządzeniami blokowymi (8,1) i (8,2). Możesz spróbować użyćmknod
po prostu zamiany dwóch.Pamiętaj tylko, że ta zamiana nastąpi dopiero po
/dev/
załadowaniu partycji zawierającej podczas rozruchu, więcinitrd
nadal będą miały te „poprawne”, chyba że je również naprawisz (ćwiczenie dla czytelnika -mkinitrd
skopiuje dziwność?) To również nie adresuj konteksty SELinux.źródło
/dev/sda
(w przeciwieństwie do bezpośredniego odczytu dysku).udev
rzeczy; najwyraźniej pierwszy system,ssh
w którym pracowałem, nie miał go.Właśnie odkryłem zaskakująco łatwe rozwiązanie tego problemu. Załóżmy, że została tylko jedna partycja o nazwie
/dev/sda3
. Chcesz, żeby to się nazywało/dev/sda1
. Otwórzgdisk
, przekonwertuj tablicę partycji na GPT, napisz i wyjdź. Następnie otwórz go ponownie, naciśnij sortuj (spowoduje to zmianę numeru GPT na 1), a następnie przekonwertuj GPT z powrotem na MBR za pomocą opcji eksperckich.źródło
- Edycja partycji / dev / sda3 do / dev / sda2 w terminalu jako root -
Tabela partycji kopii zapasowej
sfdisk -d / dev / sda> sda.bkp
Skopiuj kopię zapasową tablicy partycji do nowej tablicy partycji
cp sda.bkp sda.new
Edytuj nową tablicę partycji
gedit sda.new
Zapisz, zamknij
Ponownie zainstaluj nową tablicę partycji
sfdisk --no-reread -f / dev / sda <sda.new
Restart komputera
źródło