Trên Windows: có an toàn khi thực hiện một bản sao lưu để sao chép hệ thống không?


16

Hãy để tôi bắt đầu bằng cách cho một chút nền tảng. Trên các hệ thống Linux, tôi thường dựa vào thực tế là miễn là tôi có thể chuyển tất cả các tệp từ ổ cứng này sang ổ cứng khác, miễn là tôi sửa bộ tải khởi động, tôi sẽ còn lại một bộ khởi động giống hệt, có thể khởi động được hệ thống chức năng. Điều tương tự cũng hoạt động đối với các bản sao lưu và khôi phục (không yêu cầu sao lưu trạng thái hệ thống đặc biệt, chỉ các tệp) ... thậm chí đôi khi MySQL có thể phục hồi được ngay cả khi nó không bị đóng băng tại thời điểm sao lưu

Trên Windows, tôi chưa bao giờ gặp may mắn khi nhân bản hệ thống bằng cách thực hiện nó ở cấp độ tệp. Tôi luôn cần một công cụ như VMWare Converter, Ghost, diXML, v.v. chúng dựa trên việc lấy toàn bộ hình ảnh của ổ đĩa. Lúc đầu, tôi cho rằng điều này chủ yếu là do các cửa sổ cách đặc biệt / kỳ diệu có đăng ký và tôi đã không đặt câu hỏi (nó hoạt động). Cho đến ngày nay. Tôi nhận ra rằng kiểu suy nghĩ này thật ngu ngốc, và trong thực tế, Windows cũng chỉ là một tập hợp các tệp. Vì vậy, như một thử nghiệm tôi đã lấy một ổ đĩa máy chủ Windows 2003 ngoại tuyến, tôi đã sao chép các tệp vào một ổ cứng trống, làm cho ổ đĩa hoạt động và .. nó hoạt động hoàn hảo!

Hay đã làm nó? Tại sao tôi có nỗi sợ phi lý này rằng nó sẽ thất bại chỉ vì nó không phải là một bản sao nguyên văn như tôi mong đợi với Ghost? Tôi có nên sợ không? Tại sao nó lại dễ dàng như vậy? Máy chủ AD có khác nhau không? Có trường hợp phương pháp này sẽ thất bại?

Nếu sao chép từng tập tin là cách để đi, thì tại sao khi tôi cố gắng làm điều tương tự với VSS (phơi bày bóng sao chép C: ổ đĩa dưới dạng ổ S:) thì cách tiếp cận tương tự không thành công. Cụ thể hơn, tôi có một hệ thống khởi động tất cả các cách đến màn hình đăng nhập. Nó thậm chí còn chấp nhận mật khẩu của tôi, nhưng sau đó ngay lập tức đăng xuất khỏi người dùng của tôi mà không gặp lỗi trong GUI. Tôi thậm chí đã thử tắt tất cả nhưng các dịch vụ không thể dừng lại trước khi sao chép ... cùng một kết quả.

Nhân tiện, tôi đang sử dụng robocopy /E /SECcho tất cả các hoạt động sao chép này

Tôi chỉ đang tìm kiếm rắc rối bằng cách sử dụng các phương pháp này? Tôi biết rằng Ghost, vv đã được chứng minh .. vậy tại sao lại phát minh lại bánh xe? ... Tôi có tất cả những điều đó ... nhưng là một chuyên gia tôi muốn biết tại sao mọi thứ hoạt động theo cách họ làm. Đó là lý do tại sao nó quan trọng đối với tôi để tìm ra điều này. (không đề cập đến khả năng hiếm khi phải thực hiện khôi phục kim loại trần trên hệ thống mà tôi chưa bao giờ sao lưu trạng thái hệ thống)


2
Giải quyết trường hợp cụ thể của bộ điều khiển miền: lưu ý rằng không có cách nào an toàn để sao chép bộ điều khiển miền, vì làm như vậy làm rối bản sao của Active Directory. Tôi mờ về các chi tiết, nhưng về cơ bản, mỗi DC có một mã định danh duy nhất cần thiết để giữ cho chuỗi thay đổi AD nhất quán. Nếu hai DC cố gắng sử dụng cùng một mã định danh, toàn bộ hệ thống sẽ sụp đổ trong một đống tiếng la hét.
Harry Johnston

Ngoài ra, lưu ý rằng không an toàn để quảng bá máy chủ nhân bản lên bộ điều khiển miền. Nếu một phiên bản của Windows sẽ là một DC, thì nó phải được cài đặt thông qua Windows Setup. Không tuân theo biện pháp phòng ngừa này có thể gây ra một loạt các triệu chứng rất kỳ quặc.
Harry Johnston

Câu trả lời:


4

Máy chủ AD là khác nhau. Bộ điều khiển miền có một đường nối thư mục trên thư mục C: \ Windows \ SYSVOL \ sysvol trỏ đến thư mục miền C: \ Windows \ SYSVOL \:

 Directory of C:\Windows\SYSVOL\sysvol

04/13/2011  01:22 PM    <DIR>          .
04/13/2011  01:22 PM    <DIR>          ..
04/13/2011  01:22 PM    <JUNCTION>     domainName.acme.com [C:\Windows\SYSVOL\domain]

Hầu như bất kỳ loại hoạt động sao chép thủ công nào cũng sẽ dẫn đến một SYSVOL không xuất hiện trực tuyến do đường giao nhau. Mặc dù để chính xác, điều này có thể xảy ra trong các kịch bản khôi phục thông thường, do đó, luôn luôn nên kiểm tra và tạo lại đường nối SYSVOL nếu cần.

Nói về các liên kết, bất kỳ hệ thống Windows 2008 / Vista / Windows 7 nào cũng có thể có hàng ngàn liên kết trong thư mục% HỆ THỐNG% \ System32 cho các tệp nhị phân. Các mục tiêu liên kết này thực sự nằm trong thư mục% HỆ THỐNG% \ Winsxs.

Tôi chưa xác nhận điều này, nhưng Robocopy có thể sao chép mục tiêu thay vì liên kết. Điều này sẽ giải thích công tắc / SL :: "sao chép các liên kết tượng trưng so với mục tiêu".

Có thể hệ thống có thể hoạt động chính xác, nhưng điều gì sẽ xảy ra khi đến lúc thực hiện hoạt động cập nhật hệ thống, cần duy trì các tệp nơi các mục tiêu liên kết thường cư trú? Có lẽ nó sẽ tạo lại chúng, nhưng đó sẽ là điều đáng để thử nghiệm.

Nếu bạn tò mò làm thế nào các liên kết này được chuyển vào đĩa được sao chép, bạn có thể chụp trước và sau khi chụp, sau đó so sánh các tệp bằng Windiff hoặc Notepad ++.

Bạn có thể sử dụng lệnh sau để nhận đầu ra các điểm giao nhau trên ổ đĩa:

dir C:\ /aL /s  >> junctions.txt  

Bạn có thể sử dụng tập lệnh sau trong một tệp để nhận đầu ra của các liên kết cho một vị trí (ví dụ: systemroot):

for /r %systemroot% %%i in (*.exe,*.dll) do (
  echo Checking file: %%i >> file.txt
  fsutil.exe hardlink list "%%i" >> file.txt 2>&1
  echo . >> file.txt
)

Bạn đúng rồi. Điểm giao nhau là vấn đề chính. Từ việc nghiên cứu thêm về điều này, không chỉ các máy chủ AD sử dụng các mối nối. Windows 7 cũng sử dụng chúng rất nhiều. Robocopy không biết cách sao chép các nút "Robocopy có thể gặp phải các nút ... Đây có thể là Điểm khối lượng được tạo bằng lệnh MOUNTVOL hoặc Liên kết thư mục được tạo bằng lệnh LINKD. Robocopy xử lý các nút trong nguồn bằng cách tạo Thư mục bình thường của cùng tên ở đích đến, vì có thể không thể sao chép Giao lộ ở đích. " ... Có một công cụ sao chép tập tin có thể?
ixnaum

Dưới đây là chi tiết hơn về robocopy không sao chép các nút trên Windows 7. fastcopy có thể được sao chép các nút giao tiếp ... sẽ thử tiếp theo
ixnaum

1
Một vấn đề tiềm năng khác, Windows 7 (có lẽ cả năm 2008) cũng có một đường nối tròn trong mỗi thư mục hồ sơ người dùng trong C: \ users \ <user> \ AppData \ Local \ cho "Dữ liệu ứng dụng". Nếu bạn chạy Robocopy bằng tài khoản có đặc quyền Sao lưu hoặc thay đổi quyền của thư mục, bạn có thể đi vào một vòng lặp vô hạn trên đường giao nhau đó.
Greg Askew

7

Tôi đã thực hiện các bản sao cấp độ tệp (sử dụng ntfsclonetiện ích Công cụ NTFS của Linux ) của Windows 2000 và Windows XP. Tôi chưa thử ntfsclonevới Windows Vista hoặc các phiên bản mới hơn nhưng tôi không mong đợi bất kỳ vấn đề nào. Tôi sử dụng công cụ nhân bản cấp độ tệp của Microsoft ImageX, khá thường xuyên với Windows XP và Windows 7 và cũng không có vấn đề gì ở đó. Tôi thường không sao chép máy tính của máy chủ, nhưng tôi sẽ ImageXhoạt động tốt với hệ điều hành máy chủ.

Sao chép một hệ thống tập tin trực tiếp luôn luôn là một thách thức. Volume Shadow Copy được cho là để lộ hệ thống tập tin không hoạt động nhưng tôi nghĩ bạn vẫn đang nắm lấy cơ hội của mình. (Tôi không thể cho bạn biết điều gì đã xảy ra với âm lượng nhân bản VSS của bạn sẽ không cho phép bạn đăng nhập. Không thể nhìn thấy bản sao thất bại, điều đó thực sự rất khó chẩn đoán). Tôi luôn khuyên bạn nên sao chép các hệ thống ngoại tuyến, nếu có thể.

Giả sử bạn đang sao chép một hệ thống tệp hoàn toàn không hoạt động và có thể nhận được tất cả các tệp mà mối quan tâm duy nhất của bạn là:

  • Có bản ghi khởi động chính tốt (MBR) và bản ghi khởi động phân vùng (PBR)
  • Có một bộ nạp khởi động tốt

Microsoft bootsect.execó thể được sử dụng để viết MBR và PBR tốt cho các phiên bản Windows NTR cũ hơn (NT 3.5 thông qua Windows Server 2003) và phiên bản dựa trên BOOTMGR (Windows Vista và mới hơn). Bản sao Windows 2003 của bạn phải có trên một đĩa có PBR định dạng NT 5.2 (kể từ khi nó khởi động).

Bộ tải khởi động NTLDR sẽ được sao chép trong một bản sao ở cấp độ tệp, điều này giải thích tại sao bản sao Windows 2003 của bạn hoạt động không thành vấn đề. Bộ tải khởi động BOOTMGR có thể được cài đặt bằng bcdboot.exetiện ích (có trong phương tiện thiết lập Windows dựa trên BOOTMGR).

Tôi sẽ không sao chép các máy tính Bộ điều khiển miền Active Directory (DC) theo cách này. Bạn không muốn khởi động một bản sao của một DC trên cùng một mạng với DC gốc bởi vì đây là một kịch bản hoàn toàn không được hỗ trợ và có khả năng là không có kế hoạch.

Chỉnh sửa (bây giờ tôi có vài phút trên máy tính thật):

Các công cụ tôi đã mô tả ở trên ImageXntfsclone, là các công cụ nhân bản cấp hệ thống tệp (như Ghost nếu nó không chạy trong chế độ cung cấp thô). Họ giải thích hệ thống tập tin NTFS thay vì sao chép theo từng khu vực. Cả hai công cụ này sẽ không gặp vấn đề với các điểm nối hoặc liên kết cứng như ROBOCOPY( không có /SLđối số) và XCOPY(với bất kỳ đối số nào).

Nói chung, Microsoft không có kế hoạch cho bạn thực hiện sao chép hệ thống dựa trên bản sao ở cấp độ tệp. Vâng, bạn có thể làm điều đó, nhưng nếu nó bị hỏng bạn có thể giữ các mảnh.


Nhưng ntfsclone và ImageX dựa trên hình ảnh giống như Ghost ... còn bản sao từng tệp thì sao?
ixnaum

1
ImageX không tạo ra một bản sao cấp độ khối của đĩa, nó chắc chắn dựa trên tệp. (Tất nhiên, nó tạo ra một "tệp hình ảnh" nhưng nó giống như một tệp zip hơn là, một iso.) ImageX là cách duy nhất và duy nhất để làm điều này.
Harry Johnston

4

Vấn đề với việc sao chép một hệ thống tệp trực tiếp từ VSSđó là phiên bản Windows hiện tại có thể sẽ có chữ ký của đĩa mới đã có trong sổ đăng ký của nó. Khi bạn khởi động các bản sao, chữ ký của các phân vùng nó được khởi động từ là phù hợp để đăng ký và gắn kết như là D:hay E:, chứ không phải là C:nó phải được.

Bạn có thể sắp xếp việc này bằng cách gắn tệp đăng ký và cập nhật HKLM\SYSTEM\MountedDevices Thực hiện việc này sau khi sao chép nhưng trước khi khởi động lại. Bạn chỉ muốn xóa \DosDevices\C:mục nhập và thay đổi mục nhập cho ổ đĩa mới của bạn thành C:.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.