EFI Sistem Bölümünü başka bir sürücüye taşıma


14

UEFI'yi önyükleme olarak kullanan bir HDD'de Windows 8 yüklemesi yaptım. HDD'de aşağıdaki GPT tablosu bulunur:

DISKPART> list partition

Partizione ###   Tipo              Dim.     Offset
---------------  ----------------  -------  -------
Partizione 1     Ripristino         300 Mb  1024 Kb
Partizione 2     Sistema            100 Mb   301 Mb
Partizione 3     Riservato          128 Mb   401 Mb
Partizione 4     Primario           390 Gb   529 Mb
Partizione 5     Primario           540 Gb   390 Gb

(İtalyanca dilinde özür dilerim, ancak çeviri oldukça basittir).

Yakın zamanda bir SSD sürücü satın aldım, bağladım ve yeni bir Windows 8 kurdum. Şimdi çalışan bir çift önyüklemem var, ancak UEFI bölümü SSD yerine HDD'de. İşte SSD bölüm listesi:

Partizione ###   Tipo              Dim.     Offset
---------------  ----------------  -------  -------
Partizione 1     Riservato          128 Mb  1024 Kb
Partizione 2     Primario           221 Gb   129 Mb

En iyi çözümün iki nedenden ötürü SSD'ye sahip olmak olacağını düşünüyorum:

Birincisi performanstır (sanırım bir HDD'nin dönüş süresi nedeniyle SSD'de biraz daha hızlı olurdu, ancak bu konuda yanlış olabilirim.)

ikinci sebep tutarlılıktır. Yalnızca SSD'de bulunan Windows 8 yüklemesini kullanmayı planladığım ve muhtemelen veri depolama aygıtı olarak kullanmak için HDD'deki sistem bölümünü sileceğim, önyükleme bölümünün aynı olması gerektiğini düşünüyorum işletim sistemi olarak sürücü.

Soru şu: EFI Sistem Bölümünü SSD'ye nasıl taşıyabilirim?

Yanıtlar:


4

Benim tavsiyem rahatsız etmemek. ESP'den okunan dosyalar küçük olduğundan ve yalnızca bilgisayar önyüklendiğinde okunduğundan performans artışı göz ardı edilebilir. Dahası, bölümün kendisi modern standartlara göre küçüktür, bu yüzden çabayı değerli hale getirmek için yeterli alan kurtarmazsınız. Ayrıca, ESP'yi taşıma girişimi, düzeltilmesinden sonra iyileştirilmiş önyükleme süresinde kaydedebileceğiniz herhangi bir zamandan daha fazla zaman alacak olan önyükleme sorunları oluşturma riski taşır.

Tavsiyeme rağmen devam etmek ve bunu bir öğrenme deneyimi olarak yapmak istiyorsanız, aşağıdakilere bakmanız gerekir:

  • İstediğiniz bölümleme yazılımıyla ESP oluşturma. Bunu standart Windows araçlarıyla nasıl yapacağınızdan emin değilim. İle gdisk, EF00 türünde bir bölüm oluşturursunuz, ancak gdiskyalnızca bölümleme aracı olduğu için (dosya sistemlerini işlemez) bir FAT dosya sistemi oluşturmanız gerekir .
  • Her iki ESP'yi aynı anda dosyaları kopyalamak için (veya geçici depolama kullanarak sırayla) bağlama. Linux'ta veya EFI kabuğundan kolay olsa da, bunu Windows'ta nasıl yapacağımdan emin değilim. (Aslında bir EFI kabuğunda otomatik olacaktır.)
  • Önyükleme yükleyicisini yeni evine kaydetme. (Yedek dosya adını kullanmak EFI\BOOT\bootx64.efidaha basit bir alternatif olabilir, ancak önyükleme yükleyicisini yüklemek için daha az tercih edilen yöntemdir.) Windows bcdeditkomutu ve EFI kabuğunun bcfgaracı önyükleme yükleyicilerini kaydedebilir; ancak, bcdeditWindows ESP'yi kopyalarken sorun yaratan yalnızca bir ESP'yi desteklediğinden esnek değildir.

Cevabınız için teşekkür ederim. Aslında HDD'yi çıkarmaya karar verebileceğim için ESP'nin SSD'de olmasını tercih ederim. Bu yüzden ESP'nin OS sürücüsünde olması gerektiğini düşünüyorum. Her neyse, son nokta nasıl yapılır?
Pincopallino

Boş ver, bölümü SSD ve Windows önyüklemelerine düzenli olarak taşımayı başardım. Çok teşekkür ederim!
Pincopallino

Burada genelleştirilmiş bir NASIL belgesinde neler olduğunu açıklarken çok değerli olabilecek bazı ilginç bilgiler var, ancak gerçekten cevap vermiyor, "Soru şu: EFI Sistem Bölümünü SSD'ye nasıl taşıyabilirim?" Hayatımın günlerini birkaç yıl önce kötü bir karardan kurtulmaya çalışarak geçirdim ve hala beni rahatsız ediyor ve kısacası, EFI bölümümü değiştirmeye geliyor, bu yüzden iyi bir cevap görmek isterim.
rainabba

İki EFI bölümünün olması bazen Windows güncellemesinin son derece belirsiz yollarla başarısız olmasına neden olduğundan, taşıdıktan sonra eskisini silin.
Jack Wasey

15

Benim gibi Google'dan gelen insanlar için: Evet, bunu herhangi bir üçüncü taraf aracı olmadan Windows ile yapmak mümkündür. Windows 10 Pro x64 ile test edilmiştir. Bu yordamı hem EFI Sistem Bölümünü hem de Sistem Ayrılmış bölümünü taşımak için kullandım. Windows 8'de de çalışmalıdır.

Birincil sürücünüzde yer yoksa, önce C: bölümünüzü (veya eşdeğerini) küçültmeniz gerekir. Bu örnekte 260 MB kullanıyorum, çünkü daha yeni sürücüler gerekiyor, ancak daha küçük sektörlere sahip eski sürücüler sadece 100 MB gerektirir. Yer açmanız gerekmiyorsa hangi adımları atlamanız gerektiğini belirten yorumları not alın.

Siz oradayken, büyük olasılıkla Sistem Ayrılmış bölümünüzü taşımak istersiniz. Bunlar genellikle 1000 MB'tır ve kullanışlı Windows meta verilerini depolar. Bazı Windows özelliklerinin Sistem Ayrılmış bölümü olmadan çalışmadığını görebilirsiniz. Birincil sürücünüzde böyle bir bölüm oluşturma adımlarını ekledim ve bu adımları yorumlarla işaretledim. Atlamayı tercih ediyorsanız bu adımları hariç tutmak kolay olmalı, ancak küçüldüğünde sayıları değiştirmeniz gerekir (örneğin, 1260 MB yerine 260 MB).

REMHem cmd.exe hem de diskpart.exe tarafından desteklendiği için yorumlara ("açıklama" için) önek eklenir .

Yönetici olarak çalışan cmd.exe'den:

diskpart
list disk
REM Choose the appropriate disk number from the list.  If you're unsure, you can open diskmgmt.msc; the numbers will be the same.
sel disk 0
list part

REM Perform the following only if you need to shrink a partition to make space for the EFI partition.
REM Choose the appropriate partition from the list.  I used my C: partition.
sel part 2
shrink desired=260
REM End of shrinking operation.

REM Create a new EFI partition:
create part efi size=260
format quick fs=fat32
list vol
REM Find your newly created volume in the list.  If it's not already selected (marked with an asterisk), select it now with "sel vol #".
REM You'll need to give the volume a drive letter for later:
assign
list vol
REM Note the drive letter that the volume has been given.  Mine was F:, so I'll use that in the example.
REM Done creating new EFI partition.

REM Optionally create a new System Reserved partition:
create part msr size=1000
REM Done creating new System Reserved partition.

REM We're done with diskpart.exe:
exit
REM You should no longer see the DISKPART> prompt.

REM Note that you may need to change these drive letters, particularly F:.  F: should match the volume you created previously.
bcdboot C:\Windows /s F: /f UEFI

REM We no longer need a drive letter for the EFI partition, so we should remove it:
diskpart
list disk
REM Change disk number appropriately.
sel disk 0
list vol
REM Change volume number appropriately.
sel vol 2
REM Remove drive letter assignment:
remove
REM Exit diskpart.exe:
exit

REM Exit cmd.exe:
exit

Her şeyin çalıştığından emin olmak için yeniden başlatma zamanı. Değişikliklerle eşleşmesi için BIOS önyükleme sırası ayarlarınızı güncellemeniz gerekebilir. Benim durumumda, BIOS ayarları zaten doğruydu, bu yüzden bir yeniden başlatma döngüsünde sıkışmıştım; bilgisayarımı her önyüklemek istediğimde, eski sürücüyü yanlış yerleştirilmiş EFI bölümüyle manuel olarak seçmek zorunda kaldım.

Her şey beklendiği gibi çalıştıysa, eski EFI bölümünü silebilirsiniz. Çalışmazsa veya BIOS'unuz eski bölümden önyükleme yapacak şekilde yapılandırılmışsa, diskpart.exe'de geçersiz kılma bayrağını kullansanız bile Windows bunu silmenize izin vermez. Muhtemelen o eski bölümden kurtulmak istediğiniz için, onu silmek yeni bölümden önyükleme yaptığınızdan emin olmanın harika bir yoludur.

diskpart
list disk
REM Change disk number appropriately.
sel disk 2
list part

REM You can repeat this next group of steps to delete as many "special" partitions as you like.  I had 4 reserved partitions from an old OEM installation.  Just make sure you don't delete your data!  The "override" flag is only necessary for partitions that can't normally be deleted.
REM Change partition number appropriately.
sel part 1
del part override

REM When you're done, exit diskpart.exe:
exit

REM Exit cmd.exe:
exit

2
Çalışan çok ayrıntılı ve iyi açıklanmış bir cevap! Teşekkürler!
kumarharsh

3

Bunun eski bir yazı olduğunu biliyorum, ama bence hala pek çok kişi iyi bir cevap istiyor.

Bu, Windows 7, 8, 10 için geçerlidir. Ayrıca ESP bölümü etkin işletim sistemi olan ve yedeklenenden farklı bir diskte bulunuyorsa, Olay Kimliği: 12290 için de geçerlidir.

Önce ESP bölümleri içeren diğer sürücülerin bağlantısını kesin, böylece yanlışlıkla değiştirmeyin.

Ardından, ESP bölümünün bulunmasını istediğiniz diskte 100 - 300 MB arasında yeni bir bölüm oluşturmanız gerekir. Sürücü doluysa, önce mevcut bölümlerden birini küçültmeniz gerekir.

Boot, benim durumumda, bir USB çubuğundan Xubuntu 13 (12.1'in üstünde Ubuntu) canlı. Kurmayın.

Gparted'ı açın ve bölümü oluşturun ve FAT32 olarak biçimlendirin. Sürücüyü "önyükleme" olarak işaretleyin ve "önyükleme" olarak işaretlenen diğer bölümlerin işaretini kaldırın. Ayrıca yeni bölüme mümkünse bir sürücü harfi de atayın. Değilse, daha sonra diskpart ile yapabilirsiniz.

Yeniden başlatın ve şimdi Windows kurulum DVD'sinden Windows (RE) Kurtarma ile önyükleme yapın. Komut istemine gidin. Diskpart'ı başlatın ve Gparted'de mümkün değilse yeni bölüme bir sürücü harfi atayın. Diskpart'tan çıkın, ancak komut isteminde kalın.

Şimdi gerekli dosyaları yeni bölüme kopyalayacaksınız.

bcdboot <source> /S <ESP drive letter>: /f UEFI

Boşlukları NOT! Misal:bcdboot c:\Windows /s x: /f UEFI

Bu komut bölüm ESP durumunu da verecektir.

Aşağıdaki komutu kullanarak BCD'yi yeniden oluşturun:

bootrec /RebuildBcd

Şimdi ESP bölümüne hangi işletim sistemini eklemek istediğiniz sorulduğunda , dahil etmek istediklerinize Evet ve önyükleme yapmak istemediğinizlere Hayır diyorsunuz. Benim durumumda olduğu gibi, son zamanlarda Windows 10'a geçtim ve bildiğiniz gibi, Windows eski Windows 7/8'inizi kendiniz silmediyseniz bir süre saklayacaktır. Eski işletim sisteminizin bu kopyası normalde önyükleme yapabileceğiniz bir şey değildir. Normalde ikamet eder Windows.old. Bu yüzden Tüm alternatifini seçmeyin.

Bilmiyorum, ama bu komutun yalnızca Windows yüklemelerini aradığını düşünüyorum. Aynı bilgisayarda bir Linux işletim sisteminiz varsa. Sonra da önyükleme meny de almak için bcdedit gibi bir şey kullanmak zorunda.

Kullanmadığım son bir komut var.

bootrec /fixboot

Komutu daha fazla öğrenmeye çalıştım ve sanırım sadece ESP bölümünde önyükleme bayrağını ayarladı ve önyüklenebilir hale getirdi. Bu, ESP bölümünü Gparted'te önyükleme olarak işaretlediğim zamankiyle aynı olmalıdır.

Artık istemediğiniz başka bir ESP bölümü varsa, en kolay yol tekrar Linux / Gparted'a önyükleme yapmak ve oradan silmek.


Benim için her şey mükemmel bir şekilde gerçekleşene kadar bootrec /fixboother seferinde aynı dosya bulunamadı hatasını atar.
kumarharsh

Windows başka bir sürücüdeyken Windows bölümünü otomatik olarak bağlamaz ve önyüklemenin her zaman başarısız olmasına neden olur.
Jeroen

1

Orijinal W10 kurulum ISO (DVD) kullanarak yeni bir SSD diskte yeni bir kurulum oluşturdum. Yükleme GPT yerine MBR türüne gitti. MBR'den GPT'ye bu yeni kurulumu (veri kaybı olmadan) dönüştürmek zorunda kaldım.

Daha sonra diskin sonunda son NTFS parçasını daraltarak boş alan (260 MB) oluşturdum (Linux'u USB çubuğundan SystemRecueCD'den başlattım ve gparted kullandım, ancak Windows 10'dan Disk yöneticisi de kullanılabilir).

Sonra bu yeni küçük bölümü FAT32 olarak biçimlendirdim (Windows veya Linux'ta da yapılabilir). Dosyaları orijinal EFI'den bu yeni bölüme kopyaladım (Windows'ta C :) adlı sürücü harfine sahip iki diskten hoşlanmadığı için Linux'ta yaptım.

Sonra Linux'ta gdisk tarafından MBR'yi GPT olarak değiştirdim. Ben gdisk kullandım ve sonra bu küçük bölüm ef00 (EFI) türüne değiştirilmeli ve önyüklenebilir olarak işaretlenmelidir (sadece bir tane olmalıdır, bu nedenle önyüklenebilir bayrak orijinal önyüklenebilir sürücüden kaldırılmalıdır C :).

Sonra dizüstü bilgisayarın KURULUMU'nda önyükleme türünü sadece EFI tarafından önyüklendiğinden emin olmak için UEFI'ye değiştirdim. Bazı dosya eksik olduğu için Windows önyükleme yapmadı (adında 'efi' ile).

Sonra Windows 10 kurulum DVD'sinden önyükleme yaptım, "Kurtarma sistemi" ni seçtim ve "Önyükleme sorunlarını çöz" gibi bir şey seçtim. Sonra Win10 sorunsuz önyükleme yaptı. Bcdboot tarafından manuel olarak niyet gerektirmez.

EFI yapılandırması Linux'ta efibootmgr yardımcı programı tarafından kontrol edilebilir.


0

Bir başka çözüm daha ekleyelim. Amacım sadece EFI bölümünü kopyalamak değil, aynı zamanda diğer gizli olanları da hesaba katmaktı. Siparişin önemli olup olmadığından emin değilim (kişisel olarak msdn'de açıklanandan farklı bir tane vardı) ama w / e.

Her neyse, feat için GParted Live kullandım . Bir kez önyükleme yaptıktan sonra C:, yeni diskte eksik olduğunuz bölümlerin aynı miktarda MiB'sinin Windows ana bölümünü (ne olmalıdır ) azaltın ve sonuna kadar taşıyın. Bu biraz zaman alacak.

Daha sonra, ddMicrosoft ayrılmış bölümünün yeni yeniden boyutlandırılan bölümünün hemen altında yeni bir 16MiB bölümü yapmaya devam ettim (ayrıştırılmış gibi görünen nedenlerden dolayı biçimlendirilmemiş FS'yi işleyemiyor gibi görünüyor). Her zaman olduğu gibi, dd'yi kullanırken, komutlara son derece dikkat edin.

Tamamlandığında GParted GUI'ye geri döndüm ve yeni MSR bölümü için doğru bayrakları ve adı manuel olarak ayarladım, sonra orijinali sildim. Son olarak, Kurtarma ve EFI bölümünü orijinal HDD'den SSD'ye kopyaladım (ve adları / bayrak işlemini tekrarladım) ve sgdisk -sbölüm sırasını düzeltmek için çalıştım.

Yeniden başlatın ve kâr edin! Efibootmgr veya bcdboot ile uğraşmanıza gerek yok , en azından dizüstü bilgisayarımda yeni ESP'yi otomatik olarak buldu.

EDIT: ilk diski genişletirken, bir nedenle Windows Disk Manager diski dinamik bir birime dönüştürür .. Bu geçici çözümü denetleyin .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.