CHECKDB fails on MSDB and Master system databases
There is an internal snapshot that SQL Server will try to create when you run certain DBCC commands.  There is really good information about this on the BOL reference for DBCC.


  When you execute one of these DBCC commands, the Database Engine
  creates a database snapshot and brings it to a transactionally
  consistent state. The DBCC command then runs the checks against this
  snapshot. After the DBCC command is completed, this snapshot is
  dropped.
  
  Sometimes an internal database snapshot is not required or cannot be
  created. When this occurs, the DBCC command executes against the
  actual database. If the database is online, the DBCC command uses
  table-locking to ensure the consistency of the objects that it is
  checking. This behavior is the same as if the WITH TABLOCK option were
  specified.


The master database is particularly interesting with this, as if the internal snapshot can't be created then DBCC CHECKDB will fail against master.  As per the above reference:


  DBCC CHECKDB fails when it is run against master if an internal database snapshot cannot be created.


So, what can cause the internal snapshot creation to fail?  The above reference has a nice list:


  An internal database snapshot is not created when a DBCC command is
  executed: 
  
  
  Against master, and the instance of SQL Server is running in single-user mode.
  Against a database other than master, but the database has been put in single-user mode by using the ALTER DATABASE statement. 
  Against a read-only database.
  Against a database that has been set in emergency mode by using the ALTER DATABASE statement. 
  Against tempdb. In this case, a database snapshot cannot be created because of internal restrictions.
  Using the WITH TABLOCK option. In this case, DBCC honors the request by not creating a database snapshot.
  
  
  The DBCC commands use table locks instead of the internal database
  snapshots when the command is executed against the following: 
  
  
  A read-only filegroup 
  An FAT file system
  A volume that does not support 'named streams'
  A volume that does not support 'alternate streams'
  


My recommendation is to look at that information and find which one is applying to your situation.  That should answer your question and move towards the resolution.