ReactOS рдЕрдм BTRFS рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ

рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░! рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ, рд╣рдо WinBtrfs рдбреНрд░рд╛рдЗрд╡рд░ рдФрд░ ReactOS рдХреЗ рд╕рд╛рде рддреАрд╡реНрд░рддрд╛ рд╕реЗ рджреЛрд╕реНрддреА рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред


рдХреНрдпрд╛ рдпрд╣ рдЖрдкрдХрд╛ рд╡рд┐рдВрдбреЛрдЬ рд╣реИ?

рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдХреЗ рдмрд╛рдж, рдлреНрд░реАрд▓реЛрдбрд░ рдмреВрдЯрд▓реЛрдбрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд┐рдиреА-рдЪрд╛рд▓рдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рдХреЗрд╡рд▓-рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдореЛрдб рдореЗрдВ BTRFS рдЕрдиреБрднрд╛рдЧ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдиреЗ рдореБрдЭреЗ рдпрд╣рд╛рдБ рдкреНрд░рддреАрдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ - BTRFS рдПрдХ рдХреЗрд╕-рд╕рдВрд╡реЗрджреА рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╣реИред рдпрд╣рд╛рдВ, рдЗрдиреЛрдб рд╕рдВрд░рдЪрдирд╛ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ), рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХрд╛ рд╣реИрд╢ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдЖрдкрдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓реЗ рдмрд┐рдирд╛ рд░рд╛рд╕реНрддреЛрдВ рдкрд░ рдЪрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡рд┐рдВрдбреЛрдЬ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдмрд╛рдд рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдо рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ, рдЗрд╕рд▓рд┐рдП рдУрдПрд╕ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдбреНрд░рд╛рдЗрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдХрд┐рд╕реА рднреА рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдлрд┐рд▓рд╣рд╛рд▓, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрдЪреНрдЫреА рдкреБрд░рд╛рдиреА рдмреИрд╕рд╛рдЦрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХреА рдЧрдИ рд╣реИ - рдЬрдм рдЖрдк рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рд┐рд╕реНрдЯрдо 32 рджреНрд╡рд╛рд░рд╛ System32 рдФрд░ System32 рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдбреНрд░рд╛рдЗрд╡рд░ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд╕рд╛рдеред рдЕрдм рддрдХ, рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдХреЛрдИ рдЗрд╕реЗ рд╕рдХреНрд╖рдо рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдореИрдВ рд╣рд░ рдмрд╛рд░ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рдЕрдкрд▓реЛрдб рдХрд░реВрдВрдЧрд╛ рдФрд░ рдПрдХ рдХреЗрд╕-рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЦреЛрдЬ рдХрд░реВрдВрдЧрд╛ - рд╕реНрдкреАрдб рд▓реЛрдбрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмреВрдЯрд▓реЛрдбрд░ рдкрд░ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрдЧрд╛ред



рд▓реЛрдбрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рддрд╛ рд╣реИ, рдмреИрд╕рд╛рдЦреА рдХреЛ рдХрдареЛрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред

рдореИрдВрдиреЗ рдмреВрдЪ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдореЗрдВ рдмреВрдЯрд▓реЛрдбрд░ рдХреЛрдб рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЪреАрдЬ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд╣ (рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛) рд░рд┐рдПрдХреНрдЯреЛрд╕ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╕рд╛рдорд╛рдиреНрдп рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдФрд░ рдлрд┐рд░ рдПрдХ рдФрд░ рдШрд╛рдд рдореЗрд░реА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рдерд╛ - рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдмреВрдЯ рд╕реЗрдХреНрдЯрд░ рдиреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛, INT 13h AH = 42h рдЗрдВрдЯрд░рдкреНрдЯ (рдбрд┐рд╕реНрдХ рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд░реАрдб) рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдПрдХ рд╕рдордп рдореЗрдВ 8 рд╕реЗ рдЕрдзрд┐рдХ рд╕реЗрдХреНрдЯрд░ рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддрд╛ рд╣реИред

рдФрд░ рдЕрдВрдд рдореЗрдВ, рдкрд╣рд▓рд╛ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ (рдпрд╣ рдмреАрдПрд╕рдУрдбреА рднреА рдирд╣реАрдВ рд╣реИ!)



STATUS_ACCESS_VIOLATION рдХрд╛ рдЕрдкрд╡рд╛рдж WinSxS рд╕рдмрд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЖрдпрд╛ рд╣реИ, рдЬреЛ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╢рд░рд╛рдм рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреБрдЫ рджрд┐рдиреЛрдВ рдХреА рдШрдЯрдирд╛ рдХреЗ рдХрд╛рд░рдг рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА WinSxS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИрдВ, рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдЙрдирдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╣реИрдВред рдЕрдВрдд рдореЗрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ WinSxS (fuch) рдореЗрдВ рдирд╣реАрдВ рдереА, рд▓реЗрдХрд┐рди NtQueryDirectoryFile рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдореЗрдВ рдереАред

WinSxS рдЕрдХреНрд╕рд░ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рд╕реНрдХ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдХрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реИ (рдЬреИрд╕реЗ рдкреНрд░рд╢реНрди рдмрдирд╛рдХрд░: "* _Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0редредред *ред _ _ * * *ред Manifest"), рдФрд░ WinBtrfs рдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреНрд░реЗрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдмрдЧред рддрд╛рд░рд╛рдВрдХрди рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдореБрдЦреМрдЯреЗред рдЖрдк рдпрд╣рд╛рдБ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ, рдпрд╣ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдФрд░ рдмреВрдЯ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛


рд╢рд╛рдпрдж WinBtrfs рдбреНрд░рд╛рдЗрд╡рд░ рд╕реЗ рджреБрдирд┐рдпрд╛ рдХрд╛ рдкрд╣рд▓рд╛ рдмреВрдЯред рдореЗрд░реЗ рдлрд┐рдХреНрд╕ рдХреЗ рдкрд╣рд▓реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ рднреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдереАрдВ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЛ рдХрд╣реАрдВ рдЬрд╛рдирд╛ рдкрдбрд╝рд╛ рдФрд░ рдЪрд┐рддреНрд░реЛрдВ рдХреЛ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдЕрд╕рд▓ рдореЗрдВ, рд╕рд┐рд╕реНрдЯрдо рдмреВрдЯ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрд╛рдо рднреА рдХрд░рддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдерд┐рд░рддрд╛ 0.4.9 рд░рд┐рд▓реАрдЬ рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ)ред

рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛рдПрдВ рдЕрднреА рднреА рднрд░реА рд╣реИрдВ:

  • рдХреЛрдИ рд╕реНрд╡реИрдк рдлрд╝рд╛рдЗрд▓ рд╕рдорд░реНрдерди рдирд╣реАрдВред рдЖрдорддреМрд░ рдкрд░, btrfs рдбрд┐рд╕реНрдХ рдкрд░ linux рд╕реНрд╡реИрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдкрд░ рднреА рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдкреИрдЪ рдХрдИ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИред рд▓реЗрдХрд┐рди WinBtrfs рдЙрдирдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд┐рдВрдбреЛрдЬ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдореИрдиреЗрдЬрд░ рдХрд╛ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдЕрднреА рддрдХ WinBtrfs рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред
  • рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рд╕реНрдореГрддрд┐ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рд▓рд┐рдЦреЗрдВред рдореИрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Git рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рдРрд╕реЗ рдХреБрдЫ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗ рдХрд┐ рдореЗрдореЛрд░реА рдХрд╣рд╛рдВ рдмрд╣рддреА рд╣реИред
  • рд╢рдЯрдбрд╛рдЙрди рдФрд░ рд░рд┐рдмреВрдЯ рдкрд░ рдмреАрдПрд╕рдУрдбреАред рдкреИрдЪ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдордВрдЬреВрд░реА рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ

рдЕрдВрдд рддрдХ, рдЬреАрдПрд╕рдУрд╕реА рдХреЛ рдмрд╕ рдереЛрдбрд╝рд╛ рд╕рд╛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдмрдЧ рдХреЛ рдФрд░ рдареАрдХ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ, рдФрд░ рд╕реНрд╡реИрдк рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ (рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдВрдд рдХреЗ рдмрд╛рдж рд╣реИ)ред

рдЦреИрд░, рдЬреЛ рд▓реЛрдЧ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡реЗ WinBtrfs рдбреНрд░рд╛рдЗрд╡рд░ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/hi418861/


All Articles