delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2008/04/15/23:27:54

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Message-ID: <48057350.D77AC915@dessent.net>
Date: Tue, 15 Apr 2008 20:32:32 -0700
From: Brian Dessent <brian AT dessent DOT net>
X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U)
MIME-Version: 1.0
To: Hugh Sasse <hgs AT dmu DOT ac DOT uk>
CC: cygwin AT cygwin DOT com
Subject: Re: file accessibility and copying/archive/...
References: <Pine DOT GSO DOT 4 DOT 64 DOT 0804151952460 DOT 5320 AT brains DOT eng DOT cse DOT dmu DOT ac DOT uk>
X-IsSubscribed: yes
Reply-To: cygwin AT cygwin DOT com
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id m3G3RrDB024192

Hugh Sasse wrote:

> Trying to copy a windows XP NTFS drive to a big disk using cygwin tools
> I encounter inaccessible files such as ntusers.dat.  tar is not

ntuser.dat is the filename of the per-user registry hive
(HKEY_CURRENT_USER).  It is opened by the system in exclusive mode, so
it cannot be opened.

> I suspect this is a common problem, but don't know how to frame it
> correctly to extract something useful from Google.  The setup in
> question only has the one PC so things like rsync are out.  Windows

Note that rsync works just fine as a local copying tool like xcopy. 
There's nothing that says you have to use it with a remote machine.  But
it will be of no use to you in this case.

> keeps some things in use, but I don't know what.  Can anyone point
> me at the specific thing I should be reading, or suggest anything?
> If you mail me off list then, if there is interest I will summarize
> to the list.  Thank you.

You can't open the file because it's been opened with a sharing mode
that disallows any other process to open it.  The third parameter of
CreateFile() is dwShareMode and can one or more of FILE_SHARE_DELETE,
FILE_SHARE_READ, FILE_SHARE_WRITE.  If it is 0 then no sharing is
allowed, and the file cannot be opened by any other process until the
handle is closed.

This is why backup programs are more than just file copying utilities. 
There are a number of files that you can't just copy from a live
system.  Even if you could forcibly open the file, if you were to
naïvely copy it you might get inconsistent state, since the whole point
for opening a file exclusively is so that you can have full control over
it and implement your own form of transactions.

Starting with XP, Microsoft introduced the Volume Shadow Copy service,
as the other reply in this thread indicated.  This is a vastly
complicated[1] COM interface that can be used by backup programs to get
consistent state for all files on a live system.  Certainly no Cygwin
tool or app uses this API.

What I do is simply use the built in Windows backup program (ntbackup)
to create a backup to a file.  Ntbackup uses all the proper backup APIs
and can deal with all in-use files correctly, and the resulting output
is just a plain file that can be copied around with standard tools, or
split/burned to DVDR, or whatever.

Brian

[1] http://msdn2.microsoft.com/en-us/library/aa384589.aspx

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019