Các bước chi tiết để tạo một đường nối cho thư mục winxs trong Windows 7 [đã đóng]


1

Tôi đã tìm kiếm danh sách các bước chi tiết trong Windows 7 để di chuyển winsxsthư mục vào ổ đĩa cứng dữ liệu của mình và tạo một điểm nối trong SSD với

mklink /J oldpath newpath

Tôi chỉ có thể tìm thấy câu hỏi này, được liên kết từ một câu hỏi siêu người dùng ( Có thể di chuyển winx và nếu vậy thì thế nào? ), Nhưng nó dành cho Vista và đã được xuất bản vào ... 2007:

Cách di chuyển thư mục WinSxS trong Vista

Tôi cũng tìm thấy những câu trả lời ở đây trên superuser:

  1. Trong Windows 7, tôi có thể tạo ra một liên kết mềm hoặc chỗ nối cho winsxs hoặc thư mục cài đặt trong câu hỏi superuser này, người dùng được yêu cầu nếu họ có thể làm cho một mlinkđến winsxsthư mục sau khi di chuyển nó vào ổ đĩa khác, và câu trả lời là " bạn có thể làm điều này cho Trình cài đặt " . Nhưng câu hỏi là, bạn có thể làm điều đó cho winxs không? Đặc biệt sau bình luận đầu tiên dưới câu hỏi nói rằng "điều này không thể được thực hiện bởi vì đó là những" liên kết "đã" .

  2. Làm cách nào tôi có thể giải phóng dung lượng ổ đĩa từ thư mục trình cài đặt Windows mà không làm chết Windows? Này là dành cho các Windows/Installerthư mục, KHÔNG winsxs , và sử dụng các /Dtùy chọn thay vì các /Jtùy chọn trong mlink. Nhưng họ đang làm những gì tôi muốn làm với winxs: sao chép nội dung của thư mục sang ổ đĩa khác, sau đó thực hiện mklink /D oldpath newpath. Nhưng tôi có thể làm điều này với winxs không? (bài đăng trên blog được liên kết cũng không di chuyển thư mục winxs, họ chỉ di chuyển các thư mục khác). Ngoài ra, những người bình luận bài đăng trên blog được liên kết đang báo cáo rằng họ không thể thay đổi từ đặc quyền Quản trị viên sang đặc quyền HỆ THỐNG, đây là bước đầu tiên trước khi chạy các lệnh hoặc di chuyển các thư mục.

  3. Làm cách nào tôi có thể giải phóng dung lượng ổ đĩa từ thư mục trình cài đặt Windows mà không làm chết Windows? Một người bình luận khác trong liên kết siêu người dùng trước đó nói rằng, nếu bạn thực hiện một ngã ba,

"msiexec (dường như) bỏ qua đường giao nhau và tạo thủ công C: \ Windows \ Installer. Điều này 1) xóa đường giao nhau và 2) xóa hoàn toàn nội dung của thư mục đích."

Điều này cũng sẽ xảy ra với thư mục winxs chứ?

Vì vậy, tóm tắt:

Tôi muốn di chuyển thư mục winxs và sau đó tạo một đường nối với nó, nhưng tôi không chắc liệu tôi có thể làm điều đó hay các sự tận tâm của nó.

  • Những bước được viết cho Vista năm 2007 mà tôi đã liên kết khi bắt đầu làm việc cho Win 7?
  • Là người dùng nói rằng "điều này không thể được thực hiện bởi vì đó là" đã "symlink" phải không?
  • Nếu Vista thực hiện các bước để di chuyển thư mục và tạo đường giao nhau sẽ không hoạt động trong Win 7, thì những điều được mô tả trong bài đăng trên blog được liên kết của điểm 2 có hoạt động không? Làm cách nào để thay đổi các đặc quyền chính xác từ Quản trị viên sang HỆ THỐNG mà không gặp phải các lỗi được báo cáo?
  • Nếu tôi quản lý để tạo đường giao nhau, msiexec sẽ bỏ qua đường giao nhau và tạo thủ công C: \ Windows \ wonxs, xóa đường giao nhau và xóa hoàn toàn nội dung của thư mục đích?
  • Tôi sẽ sử dụng tùy chọn nào, /J(đường giao nhau) hoặc /D(liên kết symlink)? Tôi đoán /J, và tôi biết sự khác biệt giữa hai người, nhưng vì tùy chọn khác cũng xuất hiện trên một câu trả lời, tôi không biết gì nữa. Các tùy chọn khác nhau xuất hiện trong các nguồn khác nhau. Ai đúng?

1
Tôi hiểu và đánh giá cao nỗ lực tỉ mỉ của bạn để hiển thị nghiên cứu riêng của bạn, nhưng có quá nhiều thông tin ở đây thật khó để biết hỏi bạn muốn bỏ đi với một câu trả lời. Là câu hỏi cốt lõi của bạn Làm thế nào tôi có thể di chuyển thư mục WinSXS sang ổ đĩa khác trên HĐH Windows 7 ? Nếu vậy, hãy chỉnh sửa câu hỏi của bạn để tập trung vào đó cụ thể.
Kẻ giả mạo Twisty

Vâng, đó chính xác là câu hỏi của tôi và thông tin không phải để hiển thị nghiên cứu của tôi, mà là để hiển thị những trở ngại tôi tìm thấy hoặc nghi ngờ tôi gặp phải để di chuyển thư mục đó. Tôi có nên di chuyển nó hay không? Tôi di chuyển nó như thế này hay thế kia? Nếu cách này không hiệu quả, cách này có hiệu quả không? Tất cả các thông tin có liên quan với câu hỏi của tôi và hỗ trợ nó. Trong thực tế, tôi nghĩ rằng tôi gần như lặp lại chính mình, nếu có bất cứ điều gì. Ngoài ra, tôi đang cho thấy rằng ngay cả khi nó trông giống như những câu hỏi khác, thì thực sự không phải vậy, vì những câu hỏi đó không có câu trả lời thỏa đáng. Tôi không muốn nó được đánh dấu là trùng lặp khi nó không.
Xirux Nefer

Bạn làm tốt để làm rõ làm thế nào câu hỏi của bạn không phải là một bản sao. Tuy nhiên, sự thiếu tập trung của nó có nguy cơ bị đóng cửa vì quá rộng. Tôi đề nghị bạn hỏi câu hỏi cốt lõi của bạn, sau đó một câu trả lời hữu ích sẽ khiến bạn không chắc chắn về việc thực hiện nó, yêu cầu chi tiết hơn. Không ai trong số này có thể xảy ra nếu câu hỏi của bạn vẫn quá rộng và bị đóng như vậy.
Kẻ giả mạo Twisty

Bây giờ có tốt hơn không? Tôi thực sự không biết làm thế nào để làm cho nó cụ thể hơn. Khi tôi đọc nó, nó không có vẻ rộng hoặc thiếu tập trung ... Tôi đang nói về ngã ba mọi lúc.
Xirux Nefer

Tôi nghĩ rằng downvote là không công bằng, vì vậy +1 nhưng xin lỗi, tôi sẽ kết thúc với phiếu bầu cuối cùng
Dave

Câu trả lời:


2

Điều quan trọng nhất bạn nên biết về WinSxS:

Nó không chiếm nhiều không gian như các thuộc tính của nó hiển thị.

Ảnh chụp màn hình thuộc tính WinSxS

WinSxS chứa hầu hết các liên kết cứng. Một liên kết cứng tương tự như liên kết tượng trưng, ​​nhưng nó minh bạch hơn nhiều.

Các tệp không được lưu trữ trên đĩa cứng dưới dạng cây, mà là trong một cấu trúc phẳng. Các mục từ cấu trúc này sau đó được ánh xạ vào cây thư mục và được đặt tên. Mỗi ánh xạ như vậy là một liên kết cứng duy nhất. Vì vậy, liên kết cứng là những gì kết nối một tên tệp và đường dẫn đến nội dung của tệp.

Hầu hết các tập tin chỉ có một liên kết cứng. Ví dụ: khi bạn tải xuống một tệp, nội dung của nó được lưu trữ ở đâu đó trên đĩa cứng và một liên kết cứng có tên được tạo ra C:\Users\<yourUsername>\Downloads.

Bạn có thể tạo thêm liên kết cứng nếu bạn muốn, trong cùng một thư mục (với một tên tệp khác) hoặc ở một nơi khác trên cùng một ổ đĩa. Nội dung tệp sẽ chỉ được lưu trữ trên ổ đĩa một lần, vì vậy việc tạo liên kết cứng thứ hai sẽ không làm tăng mức sử dụng đĩa. Các tập tin sẽ có thể truy cập từ hai đường dẫn. Cả hai liên kết cứng này sẽ chia sẻ thuộc tính, ngày sửa đổi và nội dung tệp. Bất kỳ sửa đổi nào đối với một tệp đều có hiệu lực ngay lập tức trên tệp thứ hai. Tệp sẽ không bị xóa khỏi cấu trúc phẳng cho đến khi tất cả các liên kết cứng của nó bị xóa, vì vậy xóa liên kết cứng sẽ khiến tệp không bị ảnh hưởng trừ khi đó là liên kết cứng cuối cùng. Các liên kết cứng không thể phân biệt được với nhau, bạn không thể biết cái nào được tạo trước. Cả hai đều hoàn toàn tương đương. (Trái ngược với liên kết tượng trưng, ​​nơi có một tệp "chính".)

Các tập tin từ các ổ đĩa khác có thể được liên kết với bất kỳ ổ đĩa nào và các mối nối thư mục có thể được tạo trên các ổ đĩa. Tuy nhiên, bạn không thể tạo một liên kết cứng đến một tệp trên một ổ đĩa khác. Tất cả các liên kết cứng phải trỏ đến một tệp trên cùng một ổ đĩa.

Bây giờ hãy làm một thí nghiệm. Tôi sẽ tạo hai thư mục, sau đó một tệp 64 KB trong một trong số chúng và một liên kết cứng đến tệp này trong thư mục thứ hai.

C:\Users\gronostaj\Desktop\experiment>mkdir A B

C:\Users\gronostaj\Desktop\experiment>fsutil file createnew A\hardlink1 65536
File C:\Users\gronostaj\Desktop\experiment\A\hardlink1 is created

C:\Users\gronostaj\Desktop\experiment>mklink /h B\hardlink2 A\hardlink1
Hardlink created for B\hardlink2 <<===>> A\hardlink1

Chúng tôi có một cây thư mục như thế này:

+ experiment
|-+ A
| `-- hardlink1
`-+ B
  `-- hardlink2

Đây là các thuộc tính của A, chứa một liên kết cứng đến tệp 64 KB:

Thuộc tính của A, hiển thị tổng kích thước 64 KB

Có vẻ hợp pháp. Thuộc tính của B, cũng chứa một liên kết cứng đến cùng tệp 64 KB:

Thuộc tính của B, hiển thị tổng kích thước 64 KB

Điều này cũng tốt Bây giờ tôi sẽ chọn cả A và B và hãy xem chúng chiếm bao nhiêu dung lượng theo các thuộc tính:

Thuộc tính của A và B, hiển thị tổng kích thước 128 KB

... Và cửa sổ này đang nói dối chúng ta. Chỉ có một tệp vật lý mất 64 KB. Mặc dù vậy, Windows Explorer không biết điều này - nó tính tổng kích thước của các tệp được trỏ bởi các liên kết cứng và có hai liên kết cứng đến các tệp 64 KB. Đó là lý do tại sao nó nghĩ rằng các thư mục này chiếm gấp đôi dung lượng so với thực tế. Không tin tưởng kích thước thư mục trong các thuộc tính.

WinSxS chứa các liên kết cứng đến các tệp hệ thống mà Windows đã sử dụng tại một số điểm. Khi một tệp hệ thống được cài đặt, nó được liên kết cứng ở vị trí chính của nó và trong WinSxS. Trên hệ thống Windows mới được cài đặt, WinSxS có vẻ lớn vài GB, nhưng kích thước hiệu quả của nó bằng 0, vì nó chỉ chứa các tệp được liên kết cứng ở một nơi khác.

Khi một tệp hệ thống được thay thế (ví dụ như Windows Update), nó sẽ bị xóa khỏi vị trí chính và một tệp mới được cài đặt vào vị trí của nó. Tập tin mới này cũng được liên kết cứng trong WinSxS. Tại thời điểm này, Windows chỉ sử dụng phiên bản mới hơn của tệp, nhưng đĩa cứng của bạn chứa hai phiên bản, một trong số chúng không còn được sử dụng. Điều này thực sự khiến WinSxS phát triển.

Tại sao Windows làm điều này?

  1. Các bản cập nhật có thể dễ dàng gỡ cài đặt - các tệp cũ vẫn còn đó, chờ bạn trong WinSxS.
  2. Windows có thể tự động sửa một số vấn đề với các tệp bị hỏng vì các bản sao tốt được giữ trong WinSxS. Đây là những gì sfc /scannowkhông.

Tại thời điểm này, chúng tôi có thể kết luận rằng chúng tôi không thể di chuyển WinSxS sang một ổ đĩa khác, bởi vì một số tệp bên trong được liên kết cứng ở một nơi khác C:\Windows. Bạn có thể sao chép chúng vào một ổ đĩa khác và tạo một đường nối, nhưng nó sẽ tăng tổng mức sử dụng đĩa (các liên kết cứng thêm không chiếm dung lượng, các bản sao bổ sung làm) và có thể sẽ phá vỡ WinSxS.

Cách hợp lý duy nhất để giảm kích thước của WinSxS là xóa các phiên bản cũ của các tệp không sử dụng. Điều này có thể được thực hiện bằng cách sử dụng công cụ Disk Cleanup (có sẵn trong Windows) bằng cách chọn hộp kiểm Windows Update Cleanup . Nếu nó không xuất hiện trong Disk Cleanup, thì WinSxS của bạn đã được nén.


Tôi biết rằng thư mục winxs không lớn như hệ thống nói với tôi, nhưng tôi nghĩ các tệp bên trong nó là symlink, như một trong những người bình luận mà tôi đã đề cập. Tại sao nhiều người khuyên nên chuyển winxs sang ổ đĩa khác và tạo một Giao diện từ Windows / wonx đến newpath? Thậm chí còn có các ứng dụng để làm điều đó để bạn không phải làm thủ công (mặc dù chúng trông không an toàn). Có phải các thư mục khác được đề cập trong liên kết cứng của tôi cũng vậy rằng lý do tại sao một người bình luận nói rằng msiexec bỏ qua đường giao nhau, tự tạo thư mục, xóa đường nối và xóa thư mục đích?
Xirux Nefer

1
@XiruxNefer: Các tệp trong WinSXS là các liên kết cứng không phải là liên kết sym . Về lý do tại sao rất nhiều người khuyên nó, nhiều người khuyên những điều ngu ngốc mà không hiểu những gì họ đang nói về. Điều này không có gì mới. Nếu bạn muốn, các hướng dẫn Vista sẽ hoạt động cho Windows 7. Nhưng bạn sẽ lãng phí nhiều dung lượng hơn trên ổ đĩa đích vì bạn sẽ sao chép các tệp được liên kết cứng. Thư mục Installer có thể dễ dàng di chuyển và thay thế bằng symlink . Tôi đã không thử sử dụng một điểm nối, symlink hoạt động tốt. msiexec không bỏ qua các liên kết tượng trưng.
qasdfdsaq

Cảm ơn cả hai người. Câu trả lời của bạn rất chi tiết và hữu ích.
Xirux Nefer

Vì vậy, khi C: \ của bạn đã đầy và WinSxS rất lớn, bạn không thể làm gì để nói với các cửa sổ rằng bạn không thực sự hết dung lượng? Làm thế nào để bạn nói với các chương trình khác rằng bạn có nhiều dung lượng và WinSxS không phải là một nửa đĩa của tôi?
Rex Whitten

@RexWhitten Windows và các chương trình khác nhận thức rõ về điều này. Họ không kiểm tra việc sử dụng đĩa bằng cách đếm tổng kích thước tệp (sẽ chậm và cho kết quả không chính xác, như trong câu trả lời của tôi). Thay vào đó, họ truy vấn hệ thống tệp, được thiết kế để nhanh chóng tính toán mức sử dụng đĩa và dung lượng trống có sẵn một cách chính xác. Vì vậy, khi Windows và các chương trình khác nói với bạn rằng bạn hết dung lượng, điều đó có nghĩa là bạn thực sự - với thực tế là WinSxS nhỏ hơn so với dường như đã được tính đến.
gronostaj
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.