Câu hỏi Làm thế nào để làm cho việc lập bản đồ SUBST liên tục trong quá trình khởi động lại?


Windows (XP hoặc mới hơn) có tích hợp sẵn để tạo ra ánh xạ ổ đĩa theo chiều dọc, giống như những ánh xạ mà SUBST tạo ra không? Tôi đã tìm thấy công cụ của bên thứ 3 psubst. Có cách nào để làm điều đó mà không có công cụ của bên thứ 3 không?


155
2017-08-24 22:53


gốc


Có lẽ không phải là chương trình khác sẽ không cần thiết ... - Ivo Flipse♦
Có thể, bởi vì psubst chỉ là một tập tin .bat mucks với registry. Xem câu trả lời của @ davr dưới đây để biết chi tiết. - Scott Stafford
Hãy nhớ lại từ bài viết trên Wikipedia trong câu trả lời được chấp nhận: "Bắt đầu với Windows Vista, các tệp đã xóa sẽ bị xóa vĩnh viễn vĩnh viễn và không được chuyển sang "Thùng rác". Trước khi Windows Vista (trong Windows XP, ví dụ) các tập tin từ thay thế "đĩa" đã được chuyển vào Thùng rác khi bị xóa." - JMD
@ IvoFlipse, đó là một giả định tốt nói chung nhưng trong trường hợp này nó chỉ là sai. 'Công cụ của bên thứ 3' là một tệp hàng loạt 150 dòng cung cấp một cli đẹp để sửa đổi đăng ký và làm sạch đầu vào để tuân thủ substcác quy tắc gạch chéo, nó chỉ là một wrapper đẹp. Bạn có thể làm điều đó mà không cần một chương trình, và README cho psubst giải thích làm thế nào. Hoặc, xem Câu trả lời của davr bên dưới nơi anh ta trích dẫn README psubst. - alexanderbird


Các câu trả lời:


Tốt Wikipedia đề cập:

C:\>SUBST /?
Associates a path with a drive letter.

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        Specifies a virtual drive to which you want to assign a path.
  [drive2:]path  Specifies a physical drive and path you want to assign to
                 a virtual drive.
  /D             Deletes a substituted (virtual) drive.

Type SUBST with no parameters to display a list of current virtual drives.

Vì vậy, bạn có thể liên kết đường dẫn với ký tự ổ đĩa bằng cách sử dụng subst. Các Lệnh SUBST liên tục (psubst) phần mềm có vẻ là darn tiện dụng, và họ cung cấp một giải pháp để chạy nó từ khi khởi động:

https://code.google.com/p/psubst/#Inconstancy

Inconstancy

Tuy nhiên khởi động lại một hệ thống phá hủy một đĩa ảo. Phải làm gì? A   đĩa có thể được tạo sau khi khởi động. Nhưng phải làm gì, khi đĩa là   cần thiết cho các bước đầu của một startup? Ví dụ, để chạy dịch vụ?   Có tính năng hệ thống để khởi động một đĩa ảo từ hệ thống   đăng ký:

REGEDIT4 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices] 
"Z:"="\\??\\C:\\Documents and Settings\\All Users\\Shared Documents"

Đủ để tạo tệp văn bản có phần mở rộng .REG và chạy   nó. Khi lần khởi động tiếp theo của hệ thống, đĩa ảo sẽ là   tồn tại lúc đăng nhập. Nó cần phải xác định tên của đĩa và đường dẫn. Lưu ý rằng   mỗi dấu gạch chéo ngược trong đường dẫn được tăng gấp đôi.

Trong Windows, bạn có thể chạy trình chỉnh sửa đăng ký như sau:

  1. Bắt đầu chạy... (hoặc nhấn Thắng lợi+R)
  2. Kiểu: regedit
  3. Trong Windows Vista trở lên, UAC sẽ bật lên, nhấn "Vâng".

132
2017-08-24 23:04



Rất vui được biết, mặc dù tôi không sử dụng subst nữa không. Nhưng trở lại trong thời gian khi tôi đã làm tôi sử dụng để chỉ đơn giản là có một tập tin thực thi nằm trong thư mục Startup của tôi mà đã làm những điều đó. - Joey
Điều này thật tuyệt. (Nó đòi hỏi phải khởi động lại, FYI.) Cây nguồn của chúng ta phải bắt đầu từ một ký tự ổ đĩa cụ thể để các PDB của chúng ta luôn phù hợp trên các máy tính khác nhau. Điều này thiết lập registry giải quyết một khó chịu mà tôi đã có trong nhiều năm với một đĩa subst không được ở đó với runas đó là một khó chịu lớn nếu bạn cần (hiếm khi) chạy Visual Studio dưới một tài khoản quản trị. - Brian Reiter
Joey: Giải pháp đó dường như không hoạt động trong Windows 7. Khi chạy một ứng dụng có quyền quản trị, ổ đĩa thay thế không hiển thị cho ứng dụng. - Dave Jarvis
Cảm ơn các giải pháp. FYI, nếu bạn gõ biến vào RegEdit một cách tương tác, đừng gấp đôi dấu gạch chéo ngược. Tức là, tạo một biến chuỗi mới có tên "Z:" (không có dấu ngoặc kép) và đặt giá trị cho chuỗi được hiển thị ở trên ngoại trừ một dấu gạch chéo ngược đơn. - Crispy
@ Devil'sAdvocate, \?? là một thư mục ảo trong không gian tên người quản lý đối tượng NT. Đầu tiên nó kiểm tra phiên đăng nhập DOS 'thiết bị' (thiết bị DOS thực sự là liên kết tượng trưng cho các thiết bị NT, thường nằm ở \Device) và sau đó \Global?? Các thiết bị DOS. Trong WinObj bạn sẽ tìm thấy các thiết bị phiên đăng nhập trong \Sessions\0\DosDevices\[logon ID]. Lưu ý rằng các thiết bị phiên đăng nhập đều được theo dõi trong phiên 0 (các dịch vụ) cho mỗi ID đăng nhập LSA. Chúng không tương quan với phiên máy tính để bàn. Đó là lý do tại sao nếu bạn ánh xạ một ổ đĩa với tư cách quản trị viên giới hạn, nó không tồn tại khi được nâng lên; đó là một đăng nhập khác. - eryksun


Cài đặt nó tại HKEY_CURRENT_USER có lợi ích của việc có các thiết lập khác nhau cho mỗi người dùng. Tôi thích gắn thiết lập không gian người dùng miễn là liều dịch vụ hệ thống không phụ thuộc vào thiết bị.

REGEDIT4
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]
"F Drive"="subst F: D:\\mount\\db"
"G Drive"="subst G: D:\\mount\\log"

Nguồn: http://networkadminkb.com/KB/a446/how-to-use-drive-letters-mount-points-the-same-disk-drive.aspx


71
2018-02-24 17:38



1 Để hiển thị cách thực hiện nhiều ánh xạ trong một tệp reg. :-) - megaflop
1 cho sự dễ dàng này và cũng giải thích lý do tại sao HKEY_CURRENT_USER. :) - CAD bloke
1 để hiển thị một cách rất thanh lịch để tự động thực hiện điều đó mà không cần gói trong thư mục khởi động - dkellner
Cũng có thể thực hiện điều này từ dòng lệnh (từ máy chủ XP / Windows 2000): reg add HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "F Drive" /d "subst F: D:\x\db"  NB \ chỉ cần thoát ở đây nếu nó là ký tự cuối cùng của lệnh subst, ví dụ: khi mục tiêu là thư mục gốc: "subst F: D:\\"; một \ duy nhất sẽ được giải thích là thoát "theo sau nó. - stevek_mcc


Bạn thậm chí đã đọc trang bạn đã liên kết chưa? Bạn không cần công cụ của bên thứ ba, bạn có thể làm điều đó với một mục đăng ký đơn giản, như được trình bày chi tiết trên trang đó.

Tạo một tệp văn bản có tên 'mapdrive.reg' với những nội dung sau:

REGEDIT4 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices] 
"Z:"="\\??\\C:\\Documents and Settings\\All Users\\Shared Documents" 

Sau đó, chỉ cần có thể bấm đúp vào nó để thiết lập, không có công cụ của bên thứ 3 cần thiết.


40
2017-08-24 23:08



lợi thế của khóa reg so với tệp bó là nó đặt ổ đĩa subst trước khi bất kỳ lệnh khởi động nào khác chạy, trong trường hợp một số trong số đó cần ổ đĩa subst để hoạt động - davr
@ Ivo: Tôi muốn gọi đó là một nỗi sợ hãi mạnh mẽ về cái chưa biết;) - Isxek
Nếu làm điều này trong regedit, hãy chắc chắn để sử dụng dấu gạch chéo ngược duy nhất. ví dụ. \ ?? \ C: \ Some \ Thư mục - Droj


Tôi tìm thấy điều này bởi vì tôi đang tìm kiếm một sự cải tiến so với kịch bản khởi động subst của tôi - họ làm việc OK, nhưng đôi khi thực hiện sau khi thư mục bị rơi khi khởi động vì ổ đĩa của tôi chưa được ánh xạ.

Trước tiên, tôi đã chỉnh sửa sổ đăng ký nhưng không thể làm cho nó hoạt động. Tuy nhiên, tôi đã đi qua thay thế này, mặc dù nó không sử dụng subst không trả lời cho tôi câu hỏi, "Làm thế nào để làm cho SUBST lập bản đồ liên tục trên khởi động lại?" Không sử dụng subst ... (chèn 'computerName' và 'pathName') thích hợp:

sử dụng mạng u: "\\ computerName \ c $ \ pathName" / persistent: yes

Tôi đã phỏng theo điều này từ lời đề nghị của Hank Arnold tại cuộc thảo luận này về ánh xạ ổ đĩa cục bộ. Tôi đã đoán rằng \\ myComputerName \ c có thể làm việc, nhưng tôi không biết áp dụng $.

Trước khi bạn thử lệnh "sử dụng mạng", hãy thử điều hướng đến

\\ tên máy tính \ c $
 để đảm bảo bạn có 'computerName' chính xác.


20
2018-01-11 23:34



Giải pháp tuyệt vời, mặc dù có hai vấn đề: 1) nó không hiển thị đối với hệ thống tệp cục bộ, 2) quyền ... - ashes999
nếu bạn dùng \\localhost\c$\path\to\thing nó di động trên các máy (hoặc nâng cấp thay đổi tên máy tính). Một nhược điểm của việc sử dụng một ổ đĩa được ánh xạ trên Win7 + là các chính sách bảo mật khác nhau áp dụng cho các ổ đĩa mạng hơn là cục bộ và một số chương trình sẽ từ chối chạy một ổ đĩa được ánh xạ. - matt wilkie
Nó có thể nhìn thấy hệ thống tập tin, và nó hiển thị cho hệ thống tệp cục bộ - nó được đánh dấu là ổ đĩa mạng, giống như một số ổ đĩa được đánh dấu là ổ đĩa tháo rời được. Điều đó không làm cho các ổ đĩa như vậy không phải là một phần, hoặc không thể nhìn thấy, hệ thống tập tin cục bộ - nó làm cho chúng mạng / ổ đĩa rời trong hệ thống tệp cục bộ. - user165568
Trong thử nghiệm tôi đã làm cho một vấn đề hiệu suất (một vài năm trở lại bây giờ) bằng cách sử dụng (mạng cục bộ) ổ đĩa mạng cũng chậm hơn so với sử dụng hệ thống tập tin (hoặc subst vv) trực tiếp. Đây không phải là một sự khác biệt to lớn đối với các tệp nhỏ hoặc sử dụng thường xuyên - không giống như đi qua mạng thực tế đến một 'máy chủ' khác - nhưng điều đó là quan trọng. - HerbM


Thả một tập tin thực thi trong thư mục Startup của bạn thực hiện tất cả các SUBST mà bạn muốn thực hiện.


7
2017-08-24 23:02





Vì PSubst ban đầu có một số hạn chế và dường như được kết luận bởi tác giả, tôi phải viết mã một phiên bản mới cho các nhu cầu của mình, sửa một số vấn đề và thêm chức năng và tính linh hoạt.

Kiểm tra ở đây cho tập tin batch PSubst phiên bản 3

https://github.com/cyberponk/psubst

Tương thích với Windows 7, Windows 8, Windows 10, Windows Server 2012

Chú thích: Tác phẩm này không có ý định hủy bỏ tác giả gốc và chỉ tồn tại vì sự cần thiết thực sự, như sau:

  • Với tư cách là quản trị viên newtork, tôi có nhu cầu liên tục cho các ổ đĩa mạng SUBST´ing và không quan trọng với những người dùng mạng khác nhau.

  • Vì không phải ai cũng là một chuyên gia về Windows, tôi đã tìm ra độ cao quản trị tự động với việc xử lý lỗi sẽ giúp, dựa trên các coments mà tôi đọc qua web.

  • Khi một số người đấu tranh với thứ tự đối số, tôi đã tìm ra cách tốt nhất để kịch bản làm việc với các đối số theo bất kỳ thứ tự nào.

Tôi không thể nhớ lại mọi chức năng được thêm vào, nhưng mọi sự bao gồm đều được thực hiện hoàn toàn bằng sự cần thiết. Tôi đang chia sẻ mã để những người khác có thể không gặp phải những rắc rối tôi có. Bởi điều này không có ý định khác ngoài việc chia sẻ và giúp đỡ.


5
2018-06-11 00:29



Xin vui lòng, nói "A" nói "B". Bạn đã siac rằng psubst ban đầu có rất nhiều vấn đề - xin vui lòng chỉ vào chúng nếu chúng được. Mặt khác, psubst không bị bỏ rơi. Nó chỉ đạt được giới hạn phát triển của nó. Công cụ ban đầu theo triết lý rất đơn giản: làm điều gì đó và làm tốt. Nó không bị quá tải với các chức năng phụ như xử lý với UAC và tạo thêm vbs-code để làm điều gì đó hơn. Một điều có thể được thực hiện trên mã gốc - một số thay đổi về mỹ phẩm để đơn giản hóa mã và cải thiện khả năng đọc. - jsxt
Đã chỉnh sửa, vui lòng xem lại. UAC và vbs là dành cho độ cao quản trị tự động. Tôi không đồng ý về bình luận "giới hạn phát triển", vì tất cả những thay đổi tôi đã thực hiện là làm cho việc sử dụng trở nên đơn giản và dễ dàng hơn sau khi tôi gặp phải một số vấn đề khi sử dụng PSUBST. Tôi không có ý định chỉ trích tác giả gốc, vì vậy tôi sẽ không liệt kê các vấn đề, nhưng thay vào đó tôi đã tạo ra các giải pháp. Tôi thực sự đề xuất thêm các ấn bản của mình vào nhánh github ban đầu, nhưng bị từ chối, vì vậy tôi phải tạo chi nhánh của riêng mình. - cyberponk
Cảm ơn bạn đã phản hồi nhanh và chi tiết. Hầu hết có lẽ tôi cần có một cái nhìn để phát triển của bạn gần hơn. - jsxt
Mũ của tôi là của bạn; Tôi đã dành thời gian của mình trong các chiến dịch viết kịch bản hàng loạt, và tôi biết nó đau đớn như thế nào. Mã đó trông khá tốt. - SilverbackNet


Trên thực tế, công cụ PSUBST kết hợp hai cách khác nhau để tạo ra các ổ đĩa thay thế trong Windows. Nếu bạn muốn có ổ đĩa liên tục giữa các phần khởi động thì bạn có thể chạy công cụ này một lần cho mỗi ổ đĩa mà bạn cần. Một cách khác là sử dụng phương pháp được đề xuất bởi "davr". công cụ PSUBST chỉ làm như vậy nhưng cho phép thực hiện theo cách dễ dàng hơn.


2
2017-09-23 18:20





tôi thích Visual Subst

Giúp mọi thứ trở nên dễ dàng


0
2017-12-14 11:09